CPACK_DEB_PACKAGE_COMPONENT实际做什么?

时间:2019-04-27 13:09:21

标签: c++ cmake cpack

我正在尝试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的{​​{1}}会生成多个包。但是生成了默认名称的单个ON

但是当我将mylib-0.1.1-Linux.deb替换为set(CPACK_DEB_COMPONENT_INSTALL 1)时,它将为每个定义的组件生成正确的包装。

所以我很困惑如果set(CPACK_DEB_PACKAGE_COMPONENT ON)完成了多个软件包的生成,set(CPACK_DEB_PACKAGE_COMPONENT ON)到底应该做什么?

1 个答案:

答案 0 :(得分:1)

它什么都没做 :)这是this commit中修复的文档中的错字。

实际上,它是CPackDeb.cmake模块的完全内部变量,用户根本不必理会它。

请(总是:)使用latest docs;)