The COVID-19 CovidSim model uses the CMake build tool to generate build files for other build systems. Currently, building using clang and gcc with Makefiles and MSVC with Visual Studio are supported.
From the command line inside a git clone, run the following:
mkdir build
cd build
cmake ..
makeOnce make has completed use:
make testto run the regressions tests.
The tests can take a while, and may produce no output for >10 minutes. Therefore using:
make test ARGS="-V"or
ctest -VMay be more reassuring that something is happening.
From the command line inside a git clone, run the following:
mkdir build
cd build
cmake ..This will create project files inside the build directory that can be opened
in Visual Studio. Modifications to the CMake configuration may require
regenerating the Visual Studio projects.
To enable Visual Studio to pick up the tests added by CMake:
-
Open the
Testsmenu in the Visual Studio menu bar -
Choose
Run CTests.
Visual Studio 2019 supports using CMake to manage the build directly by
selecting File -> Open -> Cmake... and opening src/CMakeLists.txt. Then
Visual Studio's normal build shortcuts will update the CMake configuration
as well as building the project.
CMake options are configured using the CMakeSettings.json file, which
Visual Studio will generate when CMakeLists.txt is opened.
To enable Visual Studio to pick up the tests added by CMake:
-
Open the
Testsmenu in the Visual Studio menu bar -
Choose
Run CTests.
Additional configuration variables can be provided in the cmake invocation.
USE_OPENMPdetermines whether the model is compiled with parallelization using OpenMP. This option defaults to on, but can be disabled by passing-DUSE_OPENMP=OFF. The simulation is designed to be run on multi-core systems. Performance improvements are approximately linear up to 24 to 32 cores, depending on memory performance.
For Makefile builds, use -DCMAKE_BUILD_TYPE= to specify the output format:
DebugMinSizeRelReleaseRelWithDebInfo
By default, Makefile builds will use RelWithDebInfo.
A manually created VS-2019 solution and project is included for convenience, but it should not be considered the source of truth for the project.
The regression tests are not supported in the Visual Studio stand-alone solution.