View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0012289CMakeCPackpublic2011-06-20 12:302016-06-10 14:31
ReporterStephen Kelly 
Assigned ToKitware Robot 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionmoved 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0012289: Exported targets only packaged if an Unspecified component exists and using CPACK_ARCHIVE_COMPONENT_INSTALL
Description$ 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.
TagsNo tags attached.
Attached Files? file icon patches.mbox [^] (3,732 bytes) 2011-06-20 12:30

 Relationships

  Notes
(0026923)
Eric NOULARD (developer)
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 (developer)
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 (developer)
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 (developer)
2011-06-20 17:49

Ok, I'll see if I can add the missing information tomorrow then anyway.
(0026956)
Stephen Kelly (developer)
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 (manager)
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 (administrator)
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.

 Issue History
Date Modified Username Field Change
2011-06-20 12:30 Stephen Kelly New Issue
2011-06-20 12:30 Stephen Kelly File Added: patches.mbox
2011-06-20 15:14 Eric NOULARD Note Added: 0026923
2011-06-20 17:01 Eric NOULARD Note Added: 0026926
2011-06-20 17:20 Eric NOULARD Note Added: 0026927
2011-06-20 17:49 Stephen Kelly Note Added: 0026929
2011-06-23 08:06 Stephen Kelly Note Added: 0026956
2012-08-11 11:38 David Cole Status new => backlog
2012-08-11 11:38 David Cole Note Added: 0030273
2016-06-10 14:28 Kitware Robot Note Added: 0041853
2016-06-10 14:28 Kitware Robot Status backlog => resolved
2016-06-10 14:28 Kitware Robot Resolution open => moved
2016-06-10 14:28 Kitware Robot Assigned To => Kitware Robot
2016-06-10 14:31 Kitware Robot Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team