我在CLion中使用CMake和CTest。令人讨厌的是,CTest产生了一堆我不关心的目标:
这些都出现在CLion中。非常烦人,因为我相信你会同意的。有解决方案可以删除它们吗?我愿意接受任何解决方案:
答案 0 :(得分:1)
除非您使用CDash,否则解决方案非常简单。
在您的CMakefile中替换
include(CTest)
使用
enable_testing()
答案 1 :(得分:0)
我不确定100%工作的可能解决方案是在CLion中转到Run-> Edit Configurations ...并简单地删除您不想要的所有目标。
这似乎无法重新加载CMake配置,make clean
。
答案 2 :(得分:0)
hack警告-hack下面的内容依赖于内部实现细节(CTestTargets.cmake),因此不能保证可与任何CMake版本一起使用。
如果无法避免include(CTest)
,则由于某些enable_testing()
所需的CTest功能是必需的,例如Valgrind集成不可用,因此可以使用以下技巧完全避免自动CTest目标的生成:
set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1) # hack to prevent CTest added targets
include (CTest)
在包含CTEST_TARGETS_ADDED
之前将1
设置为CTest
将阻止自动CTest目标的生成。
我已经在CMake 3.6中进行了测试,它应该在CMake 3.15中正常工作(其中的CTEST_TARGETS_ADDED
宏仍在使用中)。