Useful CMake cache variables¶
Cache variables are passed as options to CMake using -D...
- CMAKE_BUILD_TYPE
CMake build type.
For production builds with -O3 optimisation enabled, use
-DCMAKE_BUILD_TYPE=Release
.For debugging builds with -O2 optimisation and debug symbols enabled, use
-DCMAKE_BUILD_TYPE=RelWithDebInfo
.For builds using CUDA device emulation, use
-DCMAKE_BUILD_TYPE=DeviceEmu
.- CMAKE_PREFIX_PATH
Path to third-party libraries, e.g.
-DCMAKE_PREFIX_PATH=$HOME/usr
.This variable is only needed if libraries are installed in non-standard paths.
- HALMD_USE_STATIC_LIBS
Compile separate, statically linked executable for each backend.
This flag does not apply to the CUDA runtime library. To use the CUDA runtime statically see
CUDA_USE_STATIC_CUDA_RUNTIME
.Note that the CUDA driver library cannot be linked statically.
- Boost_USE_STATIC_LIBS
Link to Boost libraries statically.
Recommended value is
-DBoost_USE_STATIC_LIBS=TRUE
.- HDF5_USE_STATIC_LIBS
Link to HDF5 libraries statically.
Recommended value is
-DHDF5_USE_STATIC_LIBS=TRUE
.- LUA_USE_STATIC_LIBS
Link to Lua libraries statically.
Recommended value is
-DLUA_USE_STATIC_LIBS=TRUE
.- CUDA_USE_STATIC_CUDA_RUNTIME
Link to the CUDA runtime library statically.
Note that linking statically could lead to kernel launch failures when using CUDA 9.2.
- HALMD_WITH_GPU
Forcibly enable or disable GPU support.
By default, GPU support is enabled or disabled depending on whether CUDA is available. If HALMD_WITH_GPU is explicitly set to TRUE, CMake will fail if CUDA is not available. If HALMD_WITH_GPU is explicitly set to FALSE, GPU support will be disabled even if CUDA is available.
- HALMD_POTENTIALS
- Semicolon-separated list of potential modules that shall be instantiated. By default, all available potentials are enabled.
- HALMD_VARIANT_FORCE_DSFUN
Use double-single precision functions in force summation (GPU backend only).
Default value is
TRUE
.- HALMD_VARIANT_HILBERT_ALT_3D
Use alternative vertex rules for the 3D Hilbert curve used for particle ordering (GPU backend only).
Default value is
FALSE
.- HALMD_VARIANT_HOST_SINGLE_PRECISION
Use single-precision math in host implementation (host backend only).
Default value is
FALSE
.This option requires SSE, which is enabled by default on x86_64.
- HALMD_VARIANT_VERLET_DSFUN
Use double-single precision functions in Verlet integrator (GPU backend only).
Default value is
TRUE
.