从cpack组件中删除后缀

时间:2018-06-15 09:42:17

标签: cmake dpkg cpack

CPack有一个错误,这里描述的单片构建包括DEB包的md5sums文件中的构建目录路径: https://gitlab.kitware.com/cmake/cmake/issues/16517

由于我正在使用带有CMake 3.7的debian-stretch,我仍然存在这个bug,因此我尝试使用建议的解决方法。

解决方法是启用CPack的组件,如下所示:

set(CPACK_COMPONENTS_ALL component_name)
set(CPACK_DEB_COMPONENT_INSTALL "ON")

然而,问题是当我从mypackagemypackage-component_name执行此操作时,我的包名称会发生​​变化。

有没有办法在构建非单一构建时禁止-component_name后缀,以便我的用户看不到差异?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我们需要设置CPACK_DEBIAN_<component>_PACKAGE_NAME。就我而言<component>=runtime

set(CPACK_COMPONENTS_ALL runtime)
set(CPACK_DEB_COMPONENT_INSTALL "ON")
set(CPACK_DEBIAN_RUNTIME_PACKAGE_NAME ${CPACK_PACKAGE_NAME})

参考: https://cmake.org/cmake/help/v3.7/module/CPackDeb.html