CMake Options¶
The CMake build scripts for GridDyn support a number of configuration options that can be set via either the cmake-gui or the command line cmake command using -D<VAR>=<VALUE> arguments. The CMake manual available at https://cmake.org/cmake/help/latest/manual/cmake.1.html
describes use of -D and other arguments in more detail.
- BOOST_INSTALL_PATH
- Sets the root location of Boost. Can be used if Boost is not found in the system directories or if a different version is desired.
- BUILD_SHARED_LIBS
- Turns on building of the GridDyn C and C++ shared libraries (
BUILD_GRIDDYN_C_SHARED_LIBRARY
andBUILD_GRIDDYN_CXX_SHARED_LIBRARY
options). - BUILD_TESTING
- Enable the test executables to be built.
- ENABLE_GRIDDYN_LOGGING
- Enables all normal, debug, and trace logging in GridDyn.
- ENABLE_GRIDDYN_DEBUG_LOGGING
- Unselecting disables all
DEBUG
andTRACE
log messages from getting compiled. - ENABLE_GRIDDYN_TRACE_LOGGING
- Unselecting disables all
TRACE
log messages from getting compiled. - DOXYGEN_OUTPUT_DIR
- Location for the generated doxygen documentation.
- ENABLE_64BIT_INDEXING
- Enables support inside GridDyn for more than 2:sup:32-2 states or objects.
- ENABLE_FMI
- Enable support for FMI objects.
- ENABLE_FMI_EXPORT
- Enable construction of a binary FMI shared library for GridDyn.
- ENABLE_FSKIT
- Enable to build additional libraries and support for integration into FSKIT and PARGRID for tool coupling.
- ENABLE_HELICS_EXECUTABLE
- Enable the HELICS executable to be built for tool coupling using HELICS for communication.
- ENABLE_KLU
- Option to disable KLU (not recommended [slow]; prefer to turn on
AUTOBUILD_KLU
) - ENABLE_MULTITHREADING
- Disable multithreading in GridDyn libraries.
- ENABLE_MPI
- Enable MPI networking library.
- ENABLE_OPENMP
- Enable OpenMP support.
- ENABLE_OPENMP_GRIDDYN
- Enables OpenMP use internal to GridDyn.
- ENABLE_OPENMP_SUNDIALS
- Enables the SUNDIALS NVector OpenMP implementation.
- ENABLE_YAML
- Enables YAML file support in GridDyn.
- ENABLE_EXTRA_MODELS
- Compile and load extraModels.
- ENABLE_EXTRA_SOLVERS
- Compile and load extraSolvers (including braid, paradae).
- ENABLE_NETWORKING_LIBRARY
- Enable network based communication components.
- ENABLE_TCP
- Enable TCP connection library. Depends on Networking.
- ENABLE_DIME
- Enable connection with DIME. Depends on Networking.
- ENABLE_ZMQ
- Enable ZMQ connection library. Depends on Networking.
- ENABLE_PLUGINS
- Build libpluginLibrary
- ENABLE_OPTIMIZATION_LIBRARY
- Enable optimization libraries.
- ENABLE_CODE_COVERAGE_TEST
- Build a target for testing code coverage.
- ENABLE_GRIDDYN_DOXYGEN
- Generate Doxygen doc target.
- ENABLE_CLANG_TOOLS
- If Clang is found, enable some custom targets for Clang formatting and tidy.
- ENABLE_PACKAGE_BUILD
- Add projects for making packages and installers for GridDyn.
- ENABLE_EXTRA_COMPILER_WARNINGS
- Enable more compiler warnings (full list in config/cmake/compiler_flags.cmake)
- ENABLE_EXPERIMENTAL_TEST_CASES
- Enable some experimental test cases in the test suite.
- FORCE_DEPENDENCY_REBUILD
- Rebuild third party dependencies, even if they’re already installed.
- LOAD_ARKODE
- Build in support for ARKODE for solving differential equations. Not used at present but will be in the near future.
- LOAD_CVODE
- Build in support for CVODE for solving differential equations. Not used at present but will be in the near future.
- SuiteSparse_INSTALL_PATH
- The location of the KLU installation if it was not found in the system directories.
- SUNDIALS_INSTALL_PATH
- The location of the SUNDIALS installation if it wasn’t found (or
AUTOBUILD_SUNDIALS
is disabled).