Some of these options are enabled by default ("Defaults to ON") otherwise they must be explicitly set to ON.
CMake switches to enable / disable parts of OGS.
OGS_BUILD_CLI- Builds the simulator. Defaults to ON. If set to OFF all processes are also disabled (see variable
OGS_BUILD_GUI- Builds the Data Explorer. Defaults to OFF.
OGS_BUILD_TESTING- Builds the test executables. Defaults to ON.
OGS_BUILD_UTILS- Builds several utilities.
OGS_BUILD_PROCESS_X- For enabling/disabling compilation of process
X. Run the CMake-GUI /
ccmaketo see a list of processes.
;-separated list specifying processes to build, e.g.
-DOGS_BUILD_PROCESSES="HT;LIE". Can be set to ON which means all processes are built or can be set to OFF to disable all processes. Attention: Setting this variable overrides individual
OGS_BUILD_PROCESS_X-variables! This option is mainly used for CI and automation. Also the value of this variable is not cached.
CMAKE_BUILD_TYPE- Defaults to
Debugwhich builds with debugging information, set to
Releasefor an optimized build.
OGS_PROFILE- Builds with profiling flags (
OGS_CMAKE_DEBUG- Prints out the values of all defined CMake variables at CMake configuration time.
CMAKE_BUILD_TYPE- Set to
Releaseto build with optimization flags, set to
OGS_COVERAGE- Enables code coverage measurements with
OGS_CXX_FLAGS- Appends user-given compiler flags. Note that existing (CMake-given) flags are not replaced.
OGS_PACKAGE_ADDITIONAL_BINARIES- Package additional binaries (given as a
;-separated list with relative paths to
CMAKE_BINARY_DIR) into redistributables. Is used for bundling the OGS File Converter with the Data Explorer.
OGS_CPU_ARCHITECTURE- Optimizes for the given CPU architecture see -march-flag. Defaults to
native. For redistributable binaries set to
genericon Linux and
core2on Mac OS. Can be disabled when set to
CMAKE_LIBRARY_SEARCH_PATH- Additional library installation path, e.g.
OGS_DEPENDENCY_VERSIONS- Overwrite individual entries in
web/data/versions.json. Should be quoted and
OGS_USE_MKL- Enables MKL support. Requires MKL to be installed on the system.1 A CMake or environment variable
MKL_DIRhas to point to the MKL installation directory. To enable 64-bit array indices in MKL add
-DMKL_USE_interface=ilp64on the first CMake run (with a clean CMake cache) but this seems not supported by Eigen.
OGS_USE_PETSC_MKL_EIGEN_OPENMP- Also enables OpenMP multithreading when PETSc and MKL is used. This pulls in another OpenMP implementation besides the Intel MKL OpenMP. Experimental feature!
mkl_link_tool (part of the MKL installation) is used for setting up necessary compiler flags. It is a 32-bit executable. On Arch Linux you need to enable the multilib-repository and then install the package
lib32-gcc-libs (otherwise you may get this error when trying to run it:
mkl_link_tool: No such file or directory) On other Linux distributions you have to install the package
lib32stdc++6 (Ubuntu / Debian) or
libstdc++.i686 (yum-based)! On Windows please also install the Intel oneAPI Threading Building Blocks during installation! ↩︎