gpt4 book ai didi

cmake - 在不使用 CTest 的情况下使用 CMake 构建测试

转载 作者:行者123 更新时间:2023-12-04 02:17:47 26 4
gpt4 key购买 nike

这是我想要做的:

  • 打字 make all将建立我的图书馆和它的文档。
  • 打字 make test将构建我的库(如有必要)、gtest,然后是我的测试
  • 打字 make check运行 make test如果需要,然后运行可执行文件

  • 现在我只能设法让第一个工作。
    我遇到的问题是 gtest 的条件包含。

    Gtest 使用 CMake,这很好,理论上我需要做的就是将 gtest 目录包含在 add_subdirectory 中。但是 gtest 将始终被构建。

    我现在的结构是:

    CMakeLists.txt(这里我为 doc 和库添加目标)
    doc(我的 doxygen 文档)
    包括(我的标题)
    lib(我编译的库所在的位置)
    src(我的 .cpp 文件所在的位置)
    测试
    CMakeLists.txt(在这里我为 gest 和我的测试添加目标)
    bin(测试可执行文件所在的位置)
    贡献(gtest 所在的位置)
    src(我的测试)

    我想弄清楚如何将 gtest 添加为 test 的依赖项-target 但不是每次都构建 gtest。

    我真的很生气,关于学习 CMake 的信息几乎没有,所以如果有人知道任何深入的教程(在互联网上免费提供),那将会很棒。

    最佳答案

    诀窍是做add_subdirectory(test EXCLUDE_FROM_ALL)然后该 CMakeList.txt 中的任何目标都不会添加到 ALL 目标。

    关于cmake - 在不使用 CTest 的情况下使用 CMake 构建测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5609692/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com