MantisBT - CMake
View Issue Details
0012289CMakeCPackpublic2011-06-20 12:302016-06-10 14:31
Stephen Kelly 
Kitware Robot 
normalminoralways
closedmoved 
 
 
0012289: Exported targets only packaged if an Unspecified component exists and using CPACK_ARCHIVE_COMPONENT_INSTALL
$ cmake -version
cmake version 2.8.4.20110619-g781aa

Starting with git://anongit.kde.org/kdeexamples.git/buildsystem/HowToInstallALibrary, [^] apply the attached patches one at a time.

When there is otherwise no Unspecified target the export files BarTargets.cmake and BarTargets-debug.cmake do not appear in any tarball.

If there is an unspecified target anyway (revert the top patch) the export files appear in the Unspecified tarball as expected.
No tags attached.
? patches.mbox (3,732) 2011-06-20 12:30
https://public.kitware.com/Bug/file/3952/patches.mbox
Issue History
2011-06-20 12:30Stephen KellyNew Issue
2011-06-20 12:30Stephen KellyFile Added: patches.mbox
2011-06-20 15:14Eric NOULARDNote Added: 0026923
2011-06-20 17:01Eric NOULARDNote Added: 0026926
2011-06-20 17:20Eric NOULARDNote Added: 0026927
2011-06-20 17:49Stephen KellyNote Added: 0026929
2011-06-23 08:06Stephen KellyNote Added: 0026956
2012-08-11 11:38David ColeStatusnew => backlog
2012-08-11 11:38David ColeNote Added: 0030273
2016-06-10 14:28Kitware RobotNote Added: 0041853
2016-06-10 14:28Kitware RobotStatusbacklog => resolved
2016-06-10 14:28Kitware RobotResolutionopen => moved
2016-06-10 14:28Kitware RobotAssigned To => Kitware Robot
2016-06-10 14:31Kitware RobotStatusresolved => closed

Notes
(0026923)
Eric NOULARD   
2011-06-20 15:14   
I'll have a look later tonight but as a reminder:

1) Any install rule which does not specified a COMPONENT arg is put
   in the "Unspecified" component

2) When doing component packaging the component which are packaged
   are the one specified in "CPACK_COMPONENTS_ALL".

   Other component should be left unpackaged.
   This is true for the "implicitly built" "Undefined" component.

3) When doing "group" packaging (1 package per group) if a component
   does not belong to any group it will be packaged on his own package.

Could you attach here the result of:

$ tree _CPack_Packages/Linux/TGZ/bar-1.2.3-Linux

in each of your test case
(with patch 1/2 and then with patch 2/2)
I assume that without patch it does not work because there is no
include(CPack) in the "bar" project.
(0026926)
Eric NOULARD   
2011-06-20 17:01   
I cannot reproduce the behavior you described (unless I did not understand it well) I use current git master: Cmake 2.8.4.20110620-ge85df

Precision:
CPACK_COMPONENTS_ALL if not specified (as in your example)
gets filled in by CPackComponent.cmake (included from CPack.cmake)
with every component defined before the inclusion of CPack.cmake.


May be you can attach the CPackConfig.cmake you obtain in the buggy case.
(0026927)
Eric NOULARD   
2011-06-20 17:20   
Ok sorry,

Now I get it.
This is the automatic fill of CPACK_COMPONENTS_ALL "feature" which is buggy.
In your example if you add:

SET(CPACK_COMPONENTS_ALL "Common;Devel;Unspecified")

to your main CMakeLists.txt, then you should get what you want.

CPackComponent.cmake assumes that the CMake property "COMPONENTS"
contains the list of defined components.

The error must be somewhere in the cmInstallCommand.* or cmInstallExportGenerator.* files.

I won't have time to work on this.
(0026929)
Stephen Kelly   
2011-06-20 17:49   
Ok, I'll see if I can add the missing information tomorrow then anyway.
(0026956)
Stephen Kelly   
2011-06-23 08:06   
I don't think I'll work on this for now either, but I suspect the bug is most likely in cmInstallExportGenerator.cxx.

For completeness, the bug also appears if doing something like

install(EXPORT exportname
        DESTINATION ${Foo}
        FILE ExportTarget.cmake
        COMPONENT Unique
)

and nothing else is in the Unique COMPONENT, then no tarball is created for it.
(0030273)
David Cole   
2012-08-11 11:38   
Sending old, never assigned issues to the backlog.

(The age of the bug, plus the fact that it's never been assigned to anyone means that nobody is actively working on it...)

If an issue you care about is sent to the backlog when you feel it should have been addressed in a different manner, please bring it up on the CMake mailing list for discussion. Sign up for the mailing list here, if you're not already on it: http://www.cmake.org/mailman/listinfo/cmake [^]

It's easy to re-activate a bug here if you can find a CMake developer who has the bandwidth to take it on, and ferry a fix through to our 'next' branch for dashboard testing.
(0041853)
Kitware Robot   
2016-06-10 14:28   
Resolving issue as `moved`.

This issue tracker is no longer used. Further discussion of this issue may take place in the current CMake Issues page linked in the banner at the top of this page.