BUG: Fix for issue #7470. Allow spaces in the path names of installed files with the NSIS CPack generator and component-based installs. Add an installed file to the CPackComponents test: it failed before the fix; now it passes.
This commit is contained in:
parent
7f92b77997
commit
03c940aeb3
|
@ -793,20 +793,25 @@ CreateComponentDescription(cmCPackComponent *component,
|
|||
macrosOut << " IntCmp $" << component->Name << "_was_installed 0 noremove_"
|
||||
<< component->Name << "\n";
|
||||
std::vector<std::string>::iterator pathIt;
|
||||
for (pathIt = component->Files.begin();
|
||||
pathIt != component->Files.end();
|
||||
++pathIt)
|
||||
std::string path;
|
||||
for (pathIt = component->Files.begin();
|
||||
pathIt != component->Files.end();
|
||||
++pathIt)
|
||||
{
|
||||
macrosOut << " Delete \"$INSTDIR\\"
|
||||
<< cmSystemTools::ConvertToWindowsOutputPath(pathIt->c_str())
|
||||
path = *pathIt;
|
||||
cmSystemTools::ReplaceString(path, "/", "\\");
|
||||
macrosOut << " Delete \"$INSTDIR\\"
|
||||
<< path.c_str()
|
||||
<< "\"\n";
|
||||
}
|
||||
for (pathIt = component->Directories.begin();
|
||||
pathIt != component->Directories.end();
|
||||
++pathIt)
|
||||
for (pathIt = component->Directories.begin();
|
||||
pathIt != component->Directories.end();
|
||||
++pathIt)
|
||||
{
|
||||
macrosOut << " RMDir \"$INSTDIR\\"
|
||||
<< cmSystemTools::ConvertToWindowsOutputPath(pathIt->c_str())
|
||||
path = *pathIt;
|
||||
cmSystemTools::ReplaceString(path, "/", "\\");
|
||||
macrosOut << " RMDir \"$INSTDIR\\"
|
||||
<< path.c_str()
|
||||
<< "\"\n";
|
||||
}
|
||||
macrosOut << " noremove_" << component->Name << ":\n";
|
||||
|
|
|
@ -39,6 +39,9 @@ install(TARGETS mylibapp
|
|||
install(FILES mylib.h
|
||||
DESTINATION include
|
||||
COMPONENT headers)
|
||||
install(FILES "Issue 7470.html"
|
||||
DESTINATION docs
|
||||
COMPONENT documentation)
|
||||
|
||||
if(mylib_install_to_absolute_path)
|
||||
install(FILES mylib.cpp
|
||||
|
@ -77,6 +80,11 @@ cpack_add_component(applications
|
|||
DESCRIPTION "An extremely useful application that makes use of MyLib"
|
||||
GROUP Runtime
|
||||
INSTALL_TYPES Full)
|
||||
cpack_add_component(documentation
|
||||
DISPLAY_NAME "MyLib Documentation"
|
||||
DESCRIPTION "The extensive suite of MyLib Application documentation files"
|
||||
GROUP Runtime
|
||||
INSTALL_TYPES Full)
|
||||
cpack_add_component(libraries
|
||||
DISPLAY_NAME "Libraries"
|
||||
DESCRIPTION "Static libraries used to build programs with MyLib"
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<html>
|
||||
<body>
|
||||
The install rule for this file demonstrates the problem described in<br/>
|
||||
CMake issue #7470:<br/>
|
||||
<br/>
|
||||
<a href="http://public.kitware.com/Bug/view.php?id=7470">
|
||||
http://public.kitware.com/Bug/view.php?id=7470</a><br/>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue