Build System Info¶
Important CMake Targets¶
- make: Builds Conduit.
- make test: Runs unit tests.
- make docs: Builds sphinx and doxygen documentation.
- make install: Installs conduit libraries, headers, and documentation to
Adding a Unit Test¶
- Create a test source file in
- All test source files should have a
t_prefix on their file name to make them easy to identify.
- Add the test to build system by editing
Running Unit Tests via Valgrind¶
We can use ctest’s built-in valgrind support to check for memory leaks in unit tests. Assuming valgrind is automatically detected when you run CMake to configure conduit, you can check for leaks by running:
ctest -D ExperimentalBuild ctest -D ExperimentalMemCheck
The build system is setup to use src/cmake/valgrind.supp to filter memcheck results. We don’t yet have all spurious issues suppressed, expect to see leaks reported for python and mpi tests.
Conduit’s CMake-based build system uses BLT (https://github.com/llnl/blt).