【发布时间】:2015-10-13 12:20:22
【问题描述】:
实际上,我有一个具有不同 CMakeLists 的项目:一个用于编译,一个用于每个“模块”的单元测试(带有 goole 测试)。我有这样的结构:
模块_1
--|src
--CMakeLists.txt // 用于编译模块 1
--测试
----|CMakeLists.txt // 用于模块 1 的单元测试
模块_2
--|src
--CMakeLists.txt // 用于模块 2 的编译
--测试
----|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 的服务器 (Jenkins) 触发编译,所以我只想激活主 CMakeLists 的选项(使用 cmake 命令行调用的那个)
我该怎么做?
如果您想了解更多信息,请告诉我
感谢您的帮助。
【问题讨论】:
标签: unit-testing cmake