[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