我已经编写了一个使用doctest的小型库。在CMakeLists.txt中,我有:
...
add_library(my_lib STATIC ${Srcs} $<TARGET_OBJECTS:common_files>)
add_executable(tests ${Srcs} $<TARGET_OBJECTS:common_files>)
target_compile_definitions(my_lib PRIVATE -DDOCTEST_CONFIG_DISABLE)
...
通过add_subdirectory
在项目中使用该库时,仅在需要该库时才构建该库和测试可执行文件。
当将CMakeLists.txt作为子目录包括在内时,我该怎么做以防止构建测试,或者有更好的方法来获得类似的结果?
我正在使用Ninja来构建项目。
我可以使用ninja -t targets
检查目标,并仅从命令行构建所需的目标,但是我可以让CMake从all
目标中排除子目录中的测试吗?