cmake - 如何在 cmake 目标中添加依赖项

标签 cmake

我在 cmake 中定义了一个自定义目标。我现在想确保仅在 cmake 目标 test 时才构建此目标。被处决。我怎样才能做到这一点。

假设我有一个目标 make coverage这应该取决于目标 make test之前要打电话,或调用make test在执行之前。

如何在 cmake 中定义这种行为?

这里我的代码没有按预期工作。我想实现 make 覆盖取决于必须先调用 make test 。

    ADD_CUSTOM_TARGET(
        coverage COMMAND /bin/bash ${LIBPIPE_BINARY_DIR}/cmake/scripts/coverage.sh
        DEPENDS test
    )  

最佳答案

您不能添加“DEPENDS 测试”子句。 CMake 中的预定义/内置目标(全部、安装、打包、测试、清理)不能作为 CMakeLists.txt 文件中的实际目标。所以你不能表达对内置目标的依赖。

CMake 错误跟踪器中有一个针对此功能的未完成的功能请求,但尚未实现。见 http://public.kitware.com/Bug/view.php?id=8438

但是,您可以更改自定义目标的命令,使其首先调用“make test”,然后运行您的覆盖率命令。

关于cmake - 如何在 cmake 目标中添加依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8073614/

相关文章:

cmake - 如何使用CMake安装脚本?

CMake:子目录中的文件 Globbing

python - 为什么cmake要用Anaconda的Python?

c++ - 如何在 MSYS2 中通过 CMake 构建 C++ Qt5 应用程序

cmake - 使用 CMake 将 .dll 文件复制到与 .exe 文件相同的文件夹中

c++ - macosx maverick 上的 cmake,如何强制包含/usr/include

makefile - SDL2 库在 Make 中找不到,但在 CMake 中找到

cmake - 如何在 NSIS 安装 (CMake) 中设置图标

macos - cmake 尝试链接资源文件

unit-testing - 使用 ctest/cmake 测试非零退出状态