MantisBT - CMake
View Issue Details
0007470CMakeCPackpublic2008-08-07 18:302010-12-14 18:45
Greg Peele 
David Cole 
normalblockalways
closedfixed 
CMake-2-6 
 
0007470: CPack NSIS Generator fails if filenames contain spaces
The NSIS generator puts too many quotes around filenames with spaces in the uninstaller portion of the NSIS script. This causes NSIS installer generation to fail.

Suppose that you have a file that you want to install as follows:

INSTALL (FILES "Config File.xml" DESTINATION bin/config COMPONENT RUNTIME)

The NSIS generator will fail with the following error in the NSIS log:

Delete expects 1-2 parameters, got 6.

Tracing down the actual line in the NSIS script that causes the error, it produces a line as follows in macro Remove_${RUNTIME}.

Delete "$INSTDIR\"bin\config\Config File.xml""
 

No tags attached.
patch CMake.patch (1,662) 2008-12-17 13:53
https://public.kitware.com/Bug/file/1929/CMake.patch
Issue History
2008-08-07 18:30Greg PeeleNew Issue
2008-08-07 19:09Bill HoffmanStatusnew => assigned
2008-08-07 19:09Bill HoffmanAssigned To => Douglas Gregor
2008-12-17 13:53Clinton StimpsonFile Added: CMake.patch
2008-12-17 13:53Clinton StimpsonNote Added: 0014386
2008-12-17 15:41Bill HoffmanAssigned ToDouglas Gregor => David Cole
2008-12-17 15:41Bill HoffmanNote Added: 0014387
2009-01-20 14:33David ColeNote Added: 0014644
2009-01-20 14:33David ColeStatusassigned => resolved
2009-01-20 14:33David ColeResolutionopen => fixed
2010-12-14 18:45David ColeNote Added: 0024024
2010-12-14 18:45David ColeStatusresolved => closed

Notes
(0014386)
Clinton Stimpson   
2008-12-17 13:53   
Its a blocker for me too. I've attached a patch to fix it.
(0014387)
Bill Hoffman   
2008-12-17 15:41   
Dave can you apply this?
(0014644)
David Cole   
2009-01-20 14:33   
Fixed in CVS HEAD:
/cvsroot/CMake/CMake/Source/CPack/cmCPackNSISGenerator.cxx,v <-- Source/CPack/cmCPackNSISGenerator.cxx
new revision: 1.39; previous revision: 1.38
/cvsroot/CMake/CMake/Tests/CPackComponents/CMakeLists.txt,v <-- Tests/CPackComponents/CMakeLists.txt
new revision: 1.4; previous revision: 1.3
/cvsroot/CMake/CMake/Tests/CPackComponents/Issue 7470.html,v <-- Tests/CPackComponents/Issue 7470.html
initial revision: 1.1

I did not apply the patch, but fixed it in a simpler way, eliminating the call to the otherwise-not-directly-called ConvertToWindowsOutputPath function.

Added a test, too, to make sure it *stays* fixed.
(0024024)
David Cole   
2010-12-14 18:45   
Closing bugs that have been resolved for more than 3 months without any further updates.