我正在开发一个项目,它可以生成相当多的可执行文件库 和配置,他们需要打包到不同的包中进行部署。 问题是,包含这些目标/文件不是相互的 独家。一个目标/文件可以属于多个包。
我正在使用CMake 2.8.9并尝试CPack。我知道这是可行的 安装类型。但我的平台是Ubuntu,所以Archives / Debs是 可以接受,他们似乎不支持。
对于组件/组/父组,似乎只能打包一个 将目标/文件分成一个组件/组。
有什么方法可以解决这个问题吗?
由于
答案 0 :(得分:5)
为什么不使用组件?如果我做对了,你想从你的项目中生成多个deb。
我实现了这样的目标:
SET(CPACK_DEB_COMPONENT_INSTALL 1)
INSTALL(TARGETS buildA DESTINATION lib/myproj COMPONENT main)
INSTALL(TARGETS buildB DESTINATION include/myproj COMPONENT dev)
当我调用make package
时,我得到两个带有后缀main
和dev
的deb,其中只包含我在INSTALL()语句中指定的内容。
答案 1 :(得分:3)
好吧,我会自己回答这个问题,因为对于后来者而言:从CMake邮件列表中,我得到了答案:使用cmake 2.8.9或更早版本(到目前为止),使用不同的组件设置多次运行CPack。这有点特别,但是做到了。