I'm working on a project which generates quite a few executables, libraries and configs, they need to be packed into different packages for deployment. The problem is, the inclusion of those targets/files is not mutual exclusive. One target/file can belong to multiple packages.
I'm using CMake 2.8.9 and trying CPack. I know it's kind of doable with install types. But my platform is Ubuntu, so on Archives/Debs are acceptable and they don't seem to support that.
With components/groups/parent groups it seems only possible to pack one target/file into one component/group.
Is there any way out of this?
Thanks
Why not use components? If I got it right, you want to generate more then one deb from your project.
I am achieving that like this:
SET(CPACK_DEB_COMPONENT_INSTALL 1)
INSTALL(TARGETS buildA DESTINATION lib/myproj COMPONENT main)
INSTALL(TARGETS buildB DESTINATION include/myproj COMPONENT dev)
When I call make package
I get two deb's with the suffixes main
and dev
containing only what I specified with the INSTALL() statements.
Well, I'll answer it myself for convinience of late comers: from CMake mail list, I got the answer: with cmake 2.8.9 or earlier (so far), run CPack multiple times with different component settings. That's a bit adhoc but does the job.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With