Introduction to cmake
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Solution Exercise 4
Sample solution to the exercise:
# [project]/flux_capacitor/CMakeLists.txt
# ...
add_subdirectory(tests)
# [project]/flux_capacitor/tests/CMakeLists.txt
add_executable(flux_capacitor-tests
flux_capacitor.cc
flux.cc
capacitor.cc
)
add_executable(tests::flux_capacitor ALIAS flux_capacitor-tests)
target_link_libraries(flux_capacitor-tests
PRIVATE
catchorg::catch2
time_machine::flux_capacitor
project::settings
)
target_include_directories(flux_capacitor-tests
PRIVATE ../src
)
add_custom_target(run-flux_capacitor-tests ALL
COMMAND tests::flux_capacitor
)
ctest
CMake itselfs also provides an infrastructure to add tests to project.
There are the commands add_test and enable_testing for adding tests to a project.
And there is also a CMake test driver program called ctest.
Depending on your project structure, IDE integration and requirements when you want to run your test, the usage of ctest can be helpful.
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content