我有一个使用CMake构建的相当复杂的项目.该项目使用CPack生成.deb包.当我用make(即不构建.deb)构建项目时,干净的构建大约需要2分钟.然而,当我使用make package构建构建一个包需要大约12分钟时,大部分时间花费了额外的10分钟CPack: - Run preinstall target for....
使用"手动"构建.deb dpkg-deb最多只需要几秒钟,所以我想知道CPack在运行预安装目标时正在做什么.
我不一定对为什么我的项目需要很长时间才感兴趣.我更好奇的是预安装目标如何适应CPack构建Debian软件包的过程以及CPack如何选择在运行预安装目标时将采取的操作.
据我从CMake 邮件列表和此相关问题中可以看出,“预安装目标”尝试重建整个项目,除非不将任何构建输出记录到标准输出。(并且可能也没有任何标志来启用并行性)
CPACK_CMAKE_GENERATOR显然,只有当您使用的CMake Generator / 是 时才会发生这种情况,并且是 CMake命令不携带任何目标依赖信息Unix Makefiles的结果。install
一种可能的解决方法是向 CPack 谎报您正在使用的生成器,例如设置CPACK_CMAKE_GENERATOR为 Ninja。
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |