首页 > 解决方案 > Cmake >= 3.17 - 预构建脚本执行 - 解决方案?

问题描述

在 cmake 中有自定义命令,可以运行 PRE_BUILD 或 PRE_LINK 或 POST_BUILD。但是,在大多数平台上,除了 Visual Studio 显然,PRE_BUILD 和 PRE_LINK 是相同的。

这里有很多关于这个问题的帖子,都说明了这个事实,但没有人给出“acutally PRE BUILD do something”的可能解决方案。

例如,我需要运行一个 bash 脚本,它会自动创建一些头文件(c 和 c++ 头文件),并且源取决于它们是 A.) 可用和 B.) 定义某些东西。

cmake中的自定义命令是否有替代方法?在 cmake 进程接管并开始编译之前如何执行某些东西?

add_custom_command(TARGET ${PROJECT_NAME}
    PRE_BUILD <---------------------------------------- THIS IS PRE_LINK unfortunatelly!
    COMMAND ../my_bash_script.sh
    DEPENDS ${PROJECT_NAME}
    VERBATIM
)

标签: cmake

解决方案


推荐阅读