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")
然而,问题是当我从mypackage
到mypackage-component_name
执行此操作时,我的包名称会发生变化。
有没有办法在构建非单一构建时禁止-component_name
后缀,以便我的用户看不到差异?
答案 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})