CPACK_DEB_PACKAGE_COMPONENT 实际上做了啥?
Posted
技术标签:
【中文标题】CPACK_DEB_PACKAGE_COMPONENT 实际上做了啥?【英文标题】:What does CPACK_DEB_PACKAGE_COMPONENT actually do?CPACK_DEB_PACKAGE_COMPONENT 实际上做了什么? 【发布时间】:2019-04-27 13:09:20 【问题描述】:我正在尝试使用 CMake 并尝试创建 2 个包:开发和运行时。所以我给install
命令设置了一个特定的组件。
install (TARGETS mylib
LIBRARY
DESTINATION /usr/lib
COMPONENT lib)
install (TARGETS mylib
LIBRARY
DESTINATION /usr/lib
COMPONENT dev)
install (DIRECTORY include/
DESTINATION /usr/include/mylib
COMPONENT dev)
set(CPACK_DEB_PACKAGE_COMPONENT ON)
set(CPACK_GENERATOR "DEB")
#component specific configuration
根据the documentation 中的指定,将CPACK_DEB_PACKAGE_COMPONENT
设置为ON
会生成多个包。但是生成了默认的命名单mylib-0.1.1-Linux.deb
。
但是当我用set(CPACK_DEB_COMPONENT_INSTALL 1)
替换set(CPACK_DEB_PACKAGE_COMPONENT ON)
时,它会为每个定义的组件生成正确的包。
所以我很困惑如果set(CPACK_DEB_COMPONENT_INSTALL 1)
生成多个包,set(CPACK_DEB_PACKAGE_COMPONENT ON)
实际上应该做什么
【问题讨论】:
【参考方案1】:它什么都不做 :) 这是this commit 中修复的文档中的一个错字。
事实上,它完全是 CPackDeb.cmake
模块的内部变量,用户根本不用担心它。
请(总是:)使用latest docs ;)
【讨论】:
以上是关于CPACK_DEB_PACKAGE_COMPONENT 实际上做了啥?的主要内容,如果未能解决你的问题,请参考以下文章