Cmake 如果我没有';不使用CDash?

Cmake 如果我没有';不使用CDash?,cmake,ctest,Cmake,Ctest,我正在根据我从Daniel Pfeifer的“有效的cmake”讲座中学到的知识重新定义我的项目的cmake配置,但我仍然无法了解ctest 目前,我的测试设置如下: enable_testing() find_program(MEMCHECK_COMMAND valgrind) # executable add_executable(myTest ${SRC_LIST}) target_link_libraries(myTest ${LIB_LIST}) # test add_test(NAM

我正在根据我从Daniel Pfeifer的“有效的cmake”讲座中学到的知识重新定义我的项目的cmake配置,但我仍然无法了解ctest

目前,我的测试设置如下:

enable_testing()
find_program(MEMCHECK_COMMAND valgrind)
# executable
add_executable(myTest ${SRC_LIST})
target_link_libraries(myTest ${LIB_LIST})
# test
add_test(NAME myTest_test
    COMMAND ${CMAKE_CURRENT_BINARY_DIR}/myTest)
add_custom_target(myTest_test
    COMMAND ctest -R myTest_test --output-on-failure
    DEPENDS myTest)
# memcheck
add_test(NAME myTest_memcheck
    COMMAND ${MEMCHECK_COMMAND} ${CMAKE_CURRENT_BINARY_DIR}/myTest)
add_custom_target(myTest_memcheck
    COMMAND ctest -R myTest_memcheck --output-on-failure
    DEPENDS ${TEST_NAME})
我可以运行
make myTest\u test
make myTest\u memcheck
并知道我没有破坏任何东西

让我痛苦的是,我必须对每个测试可执行文件(项目很大,所以我有几十个)都这样做,甚至把它提取为一个函数,这感觉是错误的

我读过ctest文档(),仪表盘对我来说几乎是完美的-如果我能运行
ctest-R myTest-T test
ctest-R myTest-T memcheck
ctest-R myTest-T coverage
我会非常高兴:)(如果这些命令能够在需要时触发构建,我会更加高兴)

问题在于
include(CTest)
创建了我不需要的目标(连续/夜间仪表盘,带有启动/更新/配置/提交步骤)。它将仅用作实验构建,并由开发人员在编码过程中执行。对于CI,我让Jenkins拥有自己的魔力。我希望最终: -仪表板/构建 -仪表板/测试 -仪表板/内存检查 -仪表板/覆盖范围

我应该怎么做?我应该手动创建自己的仪表板(如果可能的话)还是放弃这个想法,继续我的自定义目标