CMake: How to pack a target/file into multiple packages in Linux?

cmake

Solution

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.

Problem

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

Original source