MantisBT - CMake
View Issue Details
0011814CMakeCPackpublic2011-02-07 18:382011-03-27 13:00
Clinton Stimpson 
Eric NOULARD 
normalminoralways
closedfixed 
CMake-2-8 
CMake 2.8.5CMake 2.8.5 
0011814: would like modifications to cpack component/package naming scheme
If CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE=1, it would be nice if cpack didn't append -ALL to the package names for the archive based generators.

Also, to allow the user to control naming of the component specific packages, it would be nice if they used the *_DISPLAY_NAME variables.
As for spaces in the display name for unix guys (asked on mailing list)... the person creating cpack config files can just not give it spaces if its an issue.
No tags attached.
Issue History
2011-02-07 18:38Clinton StimpsonNew Issue
2011-02-07 18:39Clinton StimpsonAssigned To => Eric NOULARD
2011-02-07 18:39Clinton StimpsonStatusnew => assigned
2011-02-18 14:52Eric NOULARDNote Added: 0025493
2011-02-18 16:11Clinton StimpsonNote Added: 0025496
2011-02-18 16:48Eric NOULARDNote Added: 0025497
2011-02-18 16:54Clinton StimpsonNote Added: 0025498
2011-02-22 17:11Eric NOULARDProduct Version => CMake-2-8
2011-02-22 17:11Eric NOULARDTarget Version => CMake 2.8.5
2011-02-22 18:08Eric NOULARDNote Added: 0025555
2011-03-27 13:00Eric NOULARDNote Added: 0025916
2011-03-27 13:00Eric NOULARDStatusassigned => closed
2011-03-27 13:00Eric NOULARDResolutionopen => fixed
2011-03-27 13:00Eric NOULARDFixed in Version => CMake 2.8.5

Notes
(0025493)
Eric NOULARD   
2011-02-18 14:52   
This topic was discussed here:
http://www.cmake.org/pipermail/cmake/2011-February/042564.html [^]
and the conclusion was the suffix -ALL should be removed:
http://www.cmake.org/pipermail/cmake/2011-February/042575.html [^]

I'll do that for ArchiveGenerator and RPM as soon
as CPackRPM-HonorAllComponentWays is merged (or refused) to master.
It would be better do it all at once.

Concerning the DISPLAY name I think it would be bad idea to use it
for RPM because I did never crossed an RPM with space (character)
in it and space are just a unwanted pain to escape when working with
command line on Unix.

For ArchiveGenerator it may be discussed.
May be it would be nice for ZIP but not so nice to TGZ, TBZ2, STGZ etc...
for the very same reason as for RPM.

May be the default behavior of this could be set by the user using
some toggle CPACK_<GEN>_USE_DISPLAY_NAME_AS_FILENAME ON/OFF?
(0025496)
Clinton Stimpson   
2011-02-18 16:11   
Not all display names have spaces do they?
I know cmake puts '_' in for spaces and ".." in paths for compiling files, but that's entirely transparent to the user, and it probably makes no difference what the substitution is.
But in this case, it comes back to the user, and is based on user input. The user has complete control if no substitutions occur.
If we need to add a variable to say whether to use display names for the file name, that's fine.
(0025497)
Eric NOULARD   
2011-02-18 16:48   
No you are right not all of them have space.
I just thought that since DISPLAY name are shared among possibly
several type of CPack Generators so that user's favorite choice for
one generator may be different for another, even if there is
still a single DISPLAY name.

Some generator like NSIS would definitely prefer
"nice" DISPLAY name with most of the time space in it
see example here:
http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack#CPack_Generator_specific_behavior [^]

Whereas some other (RPM, DEB) wouldn't want to use
such name as filename.

ArchiveGenerators may be somewhere in the middle.
I'd like to find a sensible default behavior knowing that
all of this could be customized on a per-generator basis
by using CPACK_PROJECT_CONFIG_FILE.
(0025498)
Clinton Stimpson   
2011-02-18 16:54   
It could default CPACK_<GEN>_USE_DISPLAY_NAME_AS_FILENAME=OFF
(0025555)
Eric NOULARD   
2011-02-22 18:08   
Merge topic 'CPack-ChangeComponentNamingScheme' into next

4deb308 CPack Authorize DISPLAY_NAME usage in component package
8c450f6 CPack remove "-ALL" suffix for ALL-IN-ONE packages
(0025916)
Eric NOULARD   
2011-03-27 13:00   
This has been done for generic CPack generator in
std::string cmCPackGenerator::GetComponentPackageFileName
and provide default behavior.

Specific generator may overide this (or define CPACK_<GEN>_USE_DISPLAY_NAME_IN_FILENAME to be ON) in order
to change their default behavior.

Wiki has been updated too:
http://www.cmake.org/Wiki/CMake:Component_Install_With_CPack#Controlling_the_package_names [^]