未生成 CMake 目标 RUN_TESTS

Pio*_*r G 7 cmake visual-studio-2015

在 Visual Studio 2015 中未生成 CMake 目标 RUN_TESTS 的原因可能是什么?我无法包含完整的 CMakeLists.txt,因为它很大,并且由许多具有自己的 CMakeLists.txt 的子项目组成,但它包含enable_testing()执行的命令、添加和构建的测试,根本没有预定义的目标。其他预定义目标如:ZERO_CHECK、INSTALL、ALL_BUILD 也在那里。我的cmake执行是:

cmake -C conaninitialcache.cmake -G "Visual Studio 14 2015 Win64" -DCMAKE_BUILD_TYPE=Debug <source_path>
Run Code Online (Sandbox Code Playgroud)

难道是柯南的错?

Pio*_*r G 7

事实证明,当项目包含子项目时,enable_testing()必须位于根 CMakeLists.txt 中,而不是位于子项目中,因为正如文档所述:

该命令应该位于源目录根目录中,因为 ctest 期望在构建目录根目录中找到测试文件。

https://cmake.org/cmake/help/latest/command/enable_testing.html