【发布时间】:2017-10-10 07:58:44
【问题描述】:
我正在使用 CMakeLists.txt 文件来生成(以及其他)一些测试。因此我有类似的东西
ENABLE_TESTING()
ADD_TEST(NAME my_name COMMAND my_command)
我想在测试运行后添加一些命令。我发现 ADD_CUSTOM_COMMAND 似乎完全符合我的需要,但不幸的是它不起作用。 这是我尝试过的
ADD_CUSTOM_COMMAND(
TARGET my_name
POST_BUILD
COMMAND my_other_command
)
看来我没有使用正确的目标。 你能帮我告诉我应该做什么吗?
非常感谢,
【问题讨论】:
-
很难说不知道你想用自定义命令做什么。
FIXTURES_CLEANUP测试属性会是您正在寻找的吗?您只需定义另一个测试,例如用于清理任务并相应地添加具有此属性的依赖项。 -
感谢您的回答。实际上,我需要启动命令来生成代码覆盖率报告(使用 gcov 和 lcov)它无法在测试运行之前完成,所以我希望定义除主测试之外执行的新命令。因此我认为不能使用 FIXTURES_CLEANUP 。我希望我说得更清楚。
-
一种选择是生成一个 CMake 脚本,然后让 test 命令执行您的 CMake 脚本。生成的脚本将调用您的测试,然后执行覆盖率报告。如果您不关心平台可移植性,只需编写一个基于参数执行相同操作的 bash 脚本(或其他),并让您的测试命令使用合适的参数调用您的脚本。
-
“执行 CMake 脚本的脚本”是什么意思?我需要的是一种使命令“make test”运行
ADD_TEST中的测试描述以及ADD_CUSTOM_COMMAND中的测试描述的方法
标签: cmake cmake-custom-command