Notes |
|
(0028156)
|
Eric NOULARD
|
2012-01-04 08:57
|
|
|
|
(0028157)
|
Eric NOULARD
|
2012-01-04 09:05
|
|
The problem seems to be with all Archive generators:
STGZ TBZ2 TGZ TZ ZIP
It's even worse with ZIP which core dump (CMake 2.8.7) with the attached example.
This last error seems to be gone with the newly imported libarchive
currently in next. |
|
|
(0028187)
|
Fraser Hutchison
|
2012-01-04 23:48
|
|
This appears to be easily fixed by removing "gl.RecurseOn();" from Source\CPack\cmCPackGenerator.cxx (currently line 1002) http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/CPack/cmCPackGenerator.cxx;h=083279fdda70420ae9f6021d5ddc033841499ba7;hb=refs/heads/next#l1002 [^])
The problem seems to boil down to the different behaviour between GLOB and GLOB_RECURSE where the former includes directories in the set of results and the latter doesn't.
I only tested this on Windows 7, but all Archive generators correctly add an empty directory to the install path using the command:
install(DIRECTORY DESTINATION GlobRecurseStrikesAgain)
There may be a very minor backwards compatibility issue if globbing recursion is switched off in cmCPackGenerator however. The command:
install(DIRECTORY "${LOCALDIRNAME}" DESTINATION include)
currently ignores empty subdirectories located within ${LOCALDIRNAME}, but would install them also if the above change is made. |
|
|
(0028188)
|
Fraser Hutchison
|
2012-01-05 00:10
|
|
OK - not as straightforward as I first thought!
Apparently the globbing recursion is necessary to correctly create the uninstaller (for non-Archive generators). With recursion off, the uninstaller leaves behind any non-empty folders.
I guess rather than removing "gl.RecurseOn();" it needs wrapped in an "if non-Archive" condition. |
|
|
(0039559)
|
Domen Vrankar
|
2015-10-10 03:54
|
|
|
|
(0040969)
|
Robert Maynard
|
2016-05-02 08:30
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|