从 cpack 组件中删除后缀
Remove suffix from cpack component
CPack 在此处描述了一个错误,其中整体构建包括 DEB 包的 md5sums 文件中的构建目录路径:
https://gitlab.kitware.com/cmake/cmake/issues/16517
由于我在 CMake 3.7 中使用 debian-stretch,该错误对我来说仍然存在,因此我正在尝试使用建议的解决方法。
解决方法是像这样启用 CPack 的组件:
set(CPACK_COMPONENTS_ALL component_name)
set(CPACK_DEB_COMPONENT_INSTALL "ON")
但是,问题是当我这样做时我的包名称从 mypackage
更改为 mypackage-component_name
。
在构建非整体构建时,是否有办法禁止 -component_name
后缀,以便我的用户看不到差异?
我找到了解决方案。我们需要设置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})
CPack 在此处描述了一个错误,其中整体构建包括 DEB 包的 md5sums 文件中的构建目录路径: https://gitlab.kitware.com/cmake/cmake/issues/16517
由于我在 CMake 3.7 中使用 debian-stretch,该错误对我来说仍然存在,因此我正在尝试使用建议的解决方法。
解决方法是像这样启用 CPack 的组件:
set(CPACK_COMPONENTS_ALL component_name)
set(CPACK_DEB_COMPONENT_INSTALL "ON")
但是,问题是当我这样做时我的包名称从 mypackage
更改为 mypackage-component_name
。
在构建非整体构建时,是否有办法禁止 -component_name
后缀,以便我的用户看不到差异?
我找到了解决方案。我们需要设置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})