我在CLion中使用CMake和CTest。令人恼火的是,CTest生成了一大堆我并不关心的目标:
连续
ContinuousBuild
ContinuousConfigure
ContinuousCoverage
ContinuousMemCheck
ContinuousStart
ContinuousSubmit
ContinuousTest
ContinuousUpdate
实验
ExperimentalBuild
ExperimentalConfigure
ExperimentalCoverage
ExperimentalMemCheck
ExperimentalStart
ExperimentalSubmit
ExperimentalTest
ExperimentalUpdate
每晚
NightlyBuild
NightlyConfigure
NightlyCoverage
NightlyMemCheck
NightlyStart
NightlySubmit
NightlyTest
NightlyUpdate
这些都显示在CLion中。很烦人,因为我相信你会同意的。有没有解决方案来移除它们?我对任何解决方案都持开放态度:
让CTest从一开始就不要生成它们。
在CTest创建目标后将其删除。
CLion中用于隐藏它们的设置。
发布于 2017-07-06 20:53:34
一种可能的解决方案,我不确定是否100%有效,是去运行->编辑配置...在CLion中,只需删除所有不需要的目标。
这似乎在重新加载CMake配置后仍然存在,并且
..。
发布于 2018-08-11 23:12:48
除非您使用的是CDash,否则解决方案非常简单。
在您的CMakefile替换中
include(CTest)使用
enable_testing()发布于 2019-07-28 19:24:41
黑客警告-下面的黑客依赖于内部实现细节(
CTestTargets.cmake
),因此不能保证与任何CMake版本一起工作。
如果一个人无法避免
,因为需要某些CTest功能,而
,例如Valgrind集成,使用以下技巧可以完全避免自动CTest目标的生成:
set_property(GLOBAL PROPERTY CTEST_TARGETS_ADDED 1) # hack to prevent CTest added targets
include (CTest)设置
至
在包含之前
将阻止生成自动CTest目标。
我已经用CMake 3.6测试过了,它应该可以在CMake 3.19.6中工作(在这个版本中,
宏仍在使用中)。
https://stackoverflow.com/questions/44949354
复制相似问题