The following issue is now in status NEW (again) ====================================================================== http://public.kitware.com/Bug/view.php?id=11785 ====================================================================== Reported By: Peter Kuemmel Assigned To: Peter Kuemmel ====================================================================== Project: CMake Issue ID: 11785 Category: CPack Reproducibility: always Severity: major Priority: normal Status: new Target Version: CMake 2.8.10 ====================================================================== Date Submitted: 2011-02-02 09:50 EST Last Modified: 2012-09-04 14:21 EDT ====================================================================== Summary: CPack no stripping with MinGW and NSIS Description: When I install with "mingw32-make install/strip" the installed files are stripped.
But when I set CPACK_STRIP_FILES to 1 and use NSIS with "mingw32-make package" the binaries are not stripped. CPackConfig.cmake looks correct: SET(CPACK_BINARY_NSIS "ON") ... SET(CPACK_CMAKE_GENERATOR "MinGW Makefiles") ... SET(CPACK_STRIP_FILES "1") http://www.cmake.org/pipermail/cmake/2011-February/042436.html Additional Information: The problem is a missing slash in the generated install rule in cmake_install.cmake: IF(CMAKE_INSTALL_DO_STRIP) EXECUTE_PROCESS(COMMAND ".../strip.exe" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}...") ENDIF(CMAKE_INSTALL_DO_STRIP) DESTDIR is a path without a slash at the end. Attached patch helps, but I don't know if this ts the right place to add the fix. Better would be when the if checks if the unpacked variable starts with a slash. Or maybe checking CPACK_TEMPORARY_INSTALL_DIRECTORY? ====================================================================== ---------------------------------------------------------------------- (0027331) Andreas Mohr (reporter) - 2011-09-05 08:23 http://public.kitware.com/Bug/view.php?id=11785#c27331 ---------------------------------------------------------------------- Dito on Linux. Tried to set # At least for .deb packaging, stripping on make install is strongly # advisable, otherwise one will receive a nice # "E: XXX: unstripped-binary-or-object XXX" lintian error(!). set(CMAKE_INSTALL_DO_STRIP TRUE) xxx/cmake_install.cmake contains IF(CMAKE_INSTALL_DO_STRIP) EXECUTE_PROCESS(COMMAND "/usr/bin/strip" "$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX}/lib/yyy/plugins/libxxx.so") ENDIF(CMAKE_INSTALL_DO_STRIP) And indeed, "DESTDIR is a path without a slash at the end." (as seen from full CPack tracing) I ass-u-me that the missing slash is the reason for me ending up with a nice lintian-provided egg on the face. It would be "very nice" to see this bug fixed, since it now appears to affect multiple (all!?) platforms, full runtime test verification with a Debian lintian (which one should invoke for _all_ Debian packaging activities!) would have caught it immediately, and it's already rather old (2.6.4 is affected). This bug appears to be a train wreck similar in size to the apparently missing (yet documented) PERMISSIONS SETGID in (at least) older CMake versions :-P Thanks! ---------------------------------------------------------------------- (0030362) David Cole (manager) - 2012-08-11 21:09 http://public.kitware.com/Bug/view.php?id=11785#c30362 ---------------------------------------------------------------------- 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. ---------------------------------------------------------------------- (0030644) Peter Kuemmel (developer) - 2012-08-14 10:59 http://public.kitware.com/Bug/view.php?id=11785#c30644 ---------------------------------------------------------------------- http://public.kitware.com/pipermail/cmake-commits/2012-August/013179.html ---------------------------------------------------------------------- (0030910) Brad King (manager) - 2012-09-04 14:21 http://public.kitware.com/Bug/view.php?id=11785#c30910 ---------------------------------------------------------------------- What this discussion and proposed fix is missing is that in any context where DESTDIR works, CMAKE_INSTALL_PREFIX always starts in a slash. On Windows DESTDIR does not make sense due to drive letters. How is someone ending up with a relative CMAKE_INSTALL_PREFIX? This is non-sensical. Issue History Date Modified Username Field Change ====================================================================== 2011-02-02 09:50 Peter Kuemmel New Issue 2011-02-02 09:50 Peter Kuemmel File Added: destdir_slash.patch 2011-02-02 09:55 Eric NOULARD Issue Monitored: Eric NOULARD 2011-09-05 08:23 Andreas Mohr Note Added: 0027331 2012-02-08 14:21 Rolf Eike Beer Category (No Category) => CPack 2012-08-11 21:09 David Cole Status new => backlog 2012-08-11 21:09 David Cole Note Added: 0030362 2012-08-12 07:34 Peter Kuemmel Assigned To => Peter Kuemmel 2012-08-12 07:34 Peter Kuemmel Status backlog => assigned 2012-08-13 08:32 Peter Kuemmel Target Version => CMake 2.8.10 2012-08-14 10:59 Peter Kuemmel Note Added: 0030644 2012-08-14 10:59 Peter Kuemmel Status assigned => resolved 2012-08-14 10:59 Peter Kuemmel Resolution open => fixed 2012-09-04 14:21 Brad King Note Added: 0030910 2012-09-04 14:21 Brad King Status resolved => new ====================================================================== -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers