gpt4 book ai didi

cmake - CPack 预安装目标有什么作用

转载 作者:行者123 更新时间:2023-12-03 16:52:26 29 4
gpt4 key购买 nike

我有一个使用 CMake 构建的相当复杂的项目。该项目使用 CPack 生成 .deb 包。当我刚刚用 make 构建项目时(即不构建 .deb)一个干净的构建大约需要 2 分钟。但是,当我使用 make package 构建包时构建大约需要 12 分钟,其中大部分时间花费在 CPack: - Run preinstall target for... 期间。 .

使用 dpkg-deb“手动”构建 .deb最多需要几秒钟,所以我想知道 CPack 在运行预安装目标时在做什么。

我不一定对为什么我的项目需要很长时间特别感兴趣。我更好奇预安装目标如何适应 CPack 构建 Debian 软件包的过程,以及 CPack 如何选择在运行预安装目标时将采取的操作。

最佳答案

据我所知 CMake Mailing Listthis related question ,“预安装目标”会尝试重建整个项目,除非不将任何构建输出记录到标准输出。 (并且可能没有任何标志来启用并行性)

显然,这仅在 CMake Generator/CPACK_CMAKE_GENERATOR 时发生。您使用的是 Unix Makefiles ,并且是 CMake 的结果 install命令不携带任何目标依赖信息。

一种可能的解决方法是就您使用的生成器向 CPack 撒谎,例如通过设置 CPACK_CMAKE_GENERATOR到忍者。

关于cmake - CPack 预安装目标有什么作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48711342/

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