[Cmake-commits] [cmake-commits] david.cole committed cmCPackGenerator.cxx 1.15 1.16
cmake-commits at cmake.org
cmake-commits at cmake.org
Wed Oct 15 09:35:29 EDT 2008
Update of /cvsroot/CMake/CMake/Source/CPack
In directory public:/mounts/ram/cvs-serv30788/Source/CPack
Modified Files:
cmCPackGenerator.cxx
Log Message:
BUG: Use the DESTDIR prefix when creating the directory in CPack when CPACK_SET_DESTDIR is ON. Thanks to Petri Hodju for reporting this regression to the CMake mailing list: http://www.cmake.org/pipermail/cmake/2008-October/024563.html.
Index: cmCPackGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackGenerator.cxx,v
retrieving revision 1.15
retrieving revision 1.16
diff -C 2 -d -r1.15 -r1.16
*** cmCPackGenerator.cxx 2 Oct 2008 13:18:47 -0000 1.15
--- cmCPackGenerator.cxx 15 Oct 2008 13:35:27 -0000 1.16
***************
*** 647,650 ****
--- 647,651 ----
// value of the project's CMAKE_INSTALL_PREFIX is sent in here as
// the value of the CPACK_INSTALL_PREFIX variable.
+ //
std::string dir;
if (this->GetOption("CPACK_INSTALL_PREFIX"))
***************
*** 654,665 ****
mf->AddDefinition("CMAKE_INSTALL_PREFIX", dir.c_str());
- if ( !cmsys::SystemTools::MakeDirectory(dir.c_str()))
- {
- cmCPackLogger(cmCPackLog::LOG_ERROR,
- "Problem creating temporary directory: "
- << dir << std::endl);
- return 0;
- }
-
cmCPackLogger(
cmCPackLog::LOG_DEBUG,
--- 655,658 ----
***************
*** 669,672 ****
--- 662,688 ----
"- Setting CMAKE_INSTALL_PREFIX to '" << dir << "'"
<< std::endl);
+
+ // Make sure that DESTDIR + CPACK_INSTALL_PREFIX directory
+ // exists:
+ //
+ if (cmSystemTools::StringStartsWith(dir.c_str(), "/"))
+ {
+ dir = tempInstallDirectory + dir;
+ }
+ else
+ {
+ dir = tempInstallDirectory + "/" + dir;
+ }
+
+ cmCPackLogger(cmCPackLog::LOG_DEBUG,
+ "- Creating directory: '" << dir << "'" << std::endl);
+
+ if ( !cmsys::SystemTools::MakeDirectory(dir.c_str()))
+ {
+ cmCPackLogger(cmCPackLog::LOG_ERROR,
+ "Problem creating temporary directory: "
+ << dir << std::endl);
+ return 0;
+ }
}
else
More information about the Cmake-commits
mailing list