实际上,我为每个“模块”使用了不同CMakeLists的项目:一个用于编译,另一个用于单元测试(使用goole测试)。我有一个这样的结构:CMake设置选项只在一个CMakeLists中打开
module_1
- | SRC
--CMakeLists.txt //对模块的编译1
--test
---- |的CMakeLists.txt //对于模块1的单元测试
module_2
- | SRC
--CMakeLists.txt //用于模块的编译2
--test
---- | CMakeLists //用于单元测试模块2
现在,我的目标是为每个模块创建一个CMakeLists.txt,并在同一个CMakeLists.txt中进行编译和单元测试。所以我在触发测试的CMakeLists.txt(用于编译)中创建一个OPTION。
option(TEST_ENABLED
"Tests Unitaires Core"
OFF
)
if(TEST_ENABLED)
set...
endif()
这对一个CMakeLists来说很好。但是,如果我构建了所有模块,则为每个模块激活该选项(我希望你跟着我)。
cmake -DTEST_ENABLED=ON -G"Unix Makefiles" ../module1
我触发编译与服务器(詹金斯)与一些$variables
所以我想激活仅针对主CMakeLists的选项(谁在调用cmake的命令行中的一个)
我该怎么办那?
如果您想了解更多信息,请告诉我在advnace
感谢您的帮助。
这是伟大的工作。谢谢 – Algorys