Installation
Install Command
ChemCache uses CMaize as its build system, more detailed build instructions can be found here. ChemCache can be installed using the usual CMake commands:
cmake -H. \
-B<build_dir> \
-DCMAKE_INSTALL_PREFIX:PATH=<where/to/install/libraries> \
-DCMAKE_TOOLCHAIN_FILE:PATH=<path/to/toolchain.cmake>
cmake --build build --target install --parallel 2
Here <build_dir>
is the name of the build directory CMake should use (most
users just set this to -Bbuild
), <where/to/install/libraries>
should
be set to where you want to install the dependencies ChemCache builds for you,
and <path/to/toolchain.cmake>
should point to your toolchain.cmake
file.
Of particular note, make sure that in your toolchain file you set
NWX_MODULE_PATH
to where you want ChemCache installed and you may want to
set both Python_EXECUTABLE
and Python3_EXECUTABLE
to the Python
interpreter from your virtual environment (with the environment activated
run which python3
to get it’s path).
Configuration Options
This is a list of configuration options recognized by ChemCache’s build system.
BUILD_TESTING
.Off by default. Set to a truth-y value to enable testing.
BUILD_DOCS
.Off by default. Set to a truth-y value to build the C++ API documentation. This variable is defined by the
nwx_cxx_api_docs
CMake module.ONLY_BUILD_DOCS
.Off by default. If
BUILD_DOCS
is set to a truth-y value andONLY_BUILD_DOCS
is also set to a truth-y value, then the configure process will skip all other aspects of the configuration aside from creating thechemcache_cxx_api
target. This variable is defined by thenwx_cxx_api_docs
CMake module.BUILD_PYBIND11_PYBINDINGS
.On by default. When enabled the optional Python API is built.
ENABLE_EXPERIMENTAL_FEATURES
.Off by default. When set to a truth-y value classes and functions which are in a pre-release state will be built.
Dependencies
Required Dependencies
These are dependencies which must be pre-installed and can not be built by ChemCache’s build system.
CMake
CMake is the basis of CMaize, and minimum version of 3.14 is required to properly build ChemCache.
C++ Compiler
ChemCache relies on the C++17 standard and should work with any C++17 compliant compiler (GCC 9.x or newer).
Optional Dependencies
These are dependencies that ChemCache’s build system can not build; however, they are only required if certain features are enabled.
Doxygen
Used to generate the C++ API documentation. Only needed if BUILD_DOCS
is
set to a truth-y value.
Python
Needed if BUILD_PYBIND11_PYTHONBINDINGS
is enabled. You will need the
developer headers and libraries for Python.
Other Dependencies
The dependencies in this section can be built by ChemCache’s build system when they are not located. Under normal circumstances users can ignore them. They are listed here primarily for completeness.
SimDE
URL: https://github.com/NWChemEx/SimDE
ChemCache is build off of the Simulation Development Environment (SimDE). See here for the list of dependencies inherited from SimDE.
Catch2
URL: https://github.com/catchorg/Catch2
Used for unit testing. Only needed if unit testing is enabled (controlled by
the CMake variable BUILD_TESTING
, which is OFF
by default).