covid-sim
|
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:
Once make
has completed use:
to run the regressions tests.
The tests can take a while, and may produce no output for >10 minutes. Therefore using:
or
May be more reassuring that something is happening.
From the command line inside a git clone, run the following:
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:
Tests
menu in the Visual Studio menu barRun 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:
Tests
menu in the Visual Studio menu barRun CTests
.Additional configuration variables can be provided in the cmake
invocation.
USE_OPENMP
determines 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:
Debug
MinSizeRel
Release
RelWithDebInfo
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.
The CMake custom target doxygen
builds the Doxygen documentation (make doxygen
). Some IDEs do not expose this so alternatively setting the BUILD_DOC
CMake option to ON
will cause the documentation to be built every time the software is built regardless of whether anything has changed.
To generate any diagrams GraphViz must be installed.
The Doxygen warnings can be navigated to in Visual Studio:
Tools
menu select External Tools...
to launch the External Tools
dialogue box.Add
button.Title
enter CovidSim
.Command
enter cmd.exe
.Arguments
enter /c type \path\to\warnings.txt
.Use Output window
.Apply
.Tools
menu select CovidSim
to replay the file.Output
window which begins with a filename to jump to that file.