Build optionsΒΆ

mkdir build && cd build && cmake ..

Initial cmake configuration

cmake build

Update cmake configuration for existing build folder

cmake --build build

Compile the project

cmake --build build -- clean

Clean the project: all the arguments after -- are passed to make

cmake --build build -- -j4

Compile the project in parallel

cmake -DVARNAME=VALUE ..

Set a configuration variable during configuration of build. Better do it during initial configuration. The list of useful variables is presented below.

cmake -UVARNAME ..

Unset a variable from cache

For ultimate cleaning up remove the entire content of build directory.

The list of useful configuration variables:

Variable name

Possible values and meaning

CMAKE_BUILD_TYPE

Release, Debug and other standard values

CMAKE_CXX_STANDARD

14, 17. Version of C++ standard to use

CMAKE_C_COMPILER

Which C compiler to use: gcc, clang, gcc-9 or other.

CMAKE_CXX_COMPILER

Which C++ compiler to use: g++, clang++, g++9 or other.

LTO

ON, OFF. Enable link-time optimizations

SINGLE_PRECISION

ON, OFF. Enable optional usage of single precision floats in transformations

CUDA_SUPPORT

1, 0. Enable CUDA support for computations on GPU

CUDA_DEBUG_INFO

1, 0. Enable debug logging for CUDA

UB_SANITIZE

ON, OFF. Use undefined behaviour sanitizer if supported by the compiler

GENERATE_PROFILE

ON, OFF. Allow generation of execution profile for profile-guided oprimizations

USE_PROFILE

ON, OFF. Use generated profile of execution for profile-guided oprimizations at compile-time

NATIVE

ON, OFF. Use native set of CPU instructions

TRANS_DEBUG

ON, OFF. Show debug output of transformations

PARAM_DEBUG

ON, OFF. Show debug output for parameters

GRIDFILTER_DEBUG

ON, OFF. Show debug output for GridFilter class