c++ - 如何从 add_custom_target/command 调用 CMake 函数?

标签 c++ cmake target cmake-custom-command

是否可以从 add_custom_targetadd_custom_command 中调用 CMake 函数?

我知道我可以将 CMake 函数移动到 Python(或其他)脚本并从 add_custom_target/command 调用它,但我想避免使用大量脚本在现有的 CMake 基础设施旁边。

我想要实现的是使用 CPack 生成二进制工件的 zip 包并将它们发布到工件存储库中。对于发布部分,我已经创建了 CMake 函数,但现在我需要将打包和发布结合在一起。

提前感谢您的任何帮助/提示。

最佳答案

我在为 BVLC/Caffe 编写 CMake 构建系统时遇到了这个问题.我最终所做的是将函数内容放入一个单独的 CMake 脚本中,并通过调用从 add_custom_target 中调用它:

add_custom_target(target_name
    COMMAND ${CMAKE_COMMAND} -P path_to_script
)

使用 -P 标志调用 CMake 使其充当脚本语言。您可以将任何 CMake 函数放入脚本中。

关于c++ - 如何从 add_custom_target/command 调用 CMake 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26024235/

相关文章:

c++ - 如何使用 cmake 确保 C++14 编译器与实验文件系统 TS 库链接?

kubernetes - 如何限制普罗米修斯中的目标数量

c++ - 访问自定义 gsoap header 时出现段错误

java - C++中new运算符和java中new运算符的区别

path - 输出包括路径和 CMake

CLion 中的 CMake 版本未更新

javascript - iframe 上的链接在 IFrame 中创建页面的另一个 View

nlog - 使用自定义目标将所有 NLog 输出重定向到 Serilog

c++ - std::vector::const_iterator 未指向所需数据

c++ - while循环中的浮点比较与模数