gpt4 book ai didi

cmake - 是否可以将安装后命令添加到 CMake 生成的顶级 Makefile 中?

转载 作者:行者123 更新时间:2023-12-03 06:37:13 24 4
gpt4 key购买 nike

CMake 为安装规则生成类似以下内容:

# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install

我想要做的是在调用 cmake_install.cmake 后执行一些自定义命令,因此它看起来像:

# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
post_install_command_1
...
post_install_command_n
.PHONY : install

我可以使用 add_custom_command(TARGET ... POST_BUILD ...) 对我们编写的内容执行我想要的操作(需要更新 6 - 10 个宏)。然而,有很多第三方的东西要安装,我真的不想为所有这些添加 POST_BUILD 自定义命令(目前有 19 个项目,还会有更多项目,这可能会很困难)以确定构建后而不是安装后需要处理的内容)。我认为,如果自定义命令仅在一个地方使用(即作为安装处理的最后一部分)并且我知道它们将执行所有必要的操作,那么维护起来会容易得多。

是否可以让 CMake 将命令添加到顶级 Makefile 的安装规则中?

最佳答案

您可以使用 installSCRIPTCODE 变体命令。如果您将所需的命令放入项目根目录中的脚本 PostInstall.cmake 中,请将以下调用添加到最外层的 CMakeLists.txt:

install (SCRIPT "${CMAKE_SOURCE_DIR}/PostInstall.cmake")

install 命令按顺序添加到 cmake_install.cmake 脚本中,因此调用应添加到 CMakeLists.txt 的末尾> 在所有其他安装完成后运行它。

关于cmake - 是否可以将安装后命令添加到 CMake 生成的顶级 Makefile 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998679/

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