CMake:如何在Linux中将目标/文件打包到多个包中?

时间:2012-11-02 08:24:59

标签: cmake

我正在开发一个项目,它可以生成相当多的可执行文件库 和配置,他们需要打包到不同的包中进行部署。 问题是,包含这些目标/文件不是相互的 独家。一个目标/文件可以属于多个包。

我正在使用CMake 2.8.9并尝试CPack。我知道这是可行的 安装类型。但我的平台是Ubuntu,所以Archives / Debs是 可以接受,他们似乎不支持。

对于组件/组/父组,似乎只能打包一个 将目标/文件分成一个组件/组。

有什么方法可以解决这个问题吗?

由于

2 个答案:

答案 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时,我得到两个带有后缀maindev的deb,其中只包含我在INSTALL()语句中指定的内容。

答案 1 :(得分:3)

好吧,我会自己回答这个问题,因为对于后来者而言:从CMake邮件列表中,我得到了答案:使用cmake 2.8.9或更早版本(到目前为止),使用不同的组件设置多次运行CPack。这有点特别,但是做到了。