CTest 项目目录。没有找到测试

rst*_*112 6 c++ cmake googletest ctest visual-studio-code

这是我的项目层次结构

ProjectMain
          |
         Project 1
         |       |
         |     tests
         |
         Project 2
                 |
               tests
Run Code Online (Sandbox Code Playgroud)

ProjectMain 的 CMakeLists 按照https://github.com/google/googletest/blob/master/googletest/README.md下载并设置 google 测试

项目1和项目2的CMakeLists有include(CTest)和enable_testing()。在构建所有内容后,测试的可执行文件位于构建路径中的类似层次结构中。问题是当我使用 VSCode 的 cmake 工具运行测试时,它认为测试项目是 ProjectMain 并且显然找不到任何测试。如果我从 Project 1 构建目录运行 cmake ,它可以正常工作。如果我手动将其移动到 ProjectMain 的构建目录,则 cmake 工具测试可以正常工作。此外,我尝试在 add_test 中使用 WORKING_DIRECTORY 参数,但文件没有保留在原来的位置。

rst*_*112 5

我需要在 ProjectMain 的 CMakeLists.txt 中启用_testing()