summaryrefslogtreecommitdiffstats
path: root/Source/CPack/cmCPackGenericGenerator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-06-09 17:45:09 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-06-09 17:45:09 (GMT)
commitbba61bc8a7a7f399a5c9d18172160d424bbc9f7d (patch)
treeedccf84ef59b5910e029bc0cb66f319a065542c7 /Source/CPack/cmCPackGenericGenerator.cxx
parent3eec8a91fc4980739a99d8ae17324960f94e96d2 (diff)
downloadCMake-bba61bc8a7a7f399a5c9d18172160d424bbc9f7d.zip
CMake-bba61bc8a7a7f399a5c9d18172160d424bbc9f7d.tar.gz
CMake-bba61bc8a7a7f399a5c9d18172160d424bbc9f7d.tar.bz2
ENH: check in partial cygwin generator
Diffstat (limited to 'Source/CPack/cmCPackGenericGenerator.cxx')
-rw-r--r--Source/CPack/cmCPackGenericGenerator.cxx42
1 files changed, 42 insertions, 0 deletions
diff --git a/Source/CPack/cmCPackGenericGenerator.cxx b/Source/CPack/cmCPackGenericGenerator.cxx
index ff640d2..599e4c8 100644
--- a/Source/CPack/cmCPackGenericGenerator.cxx
+++ b/Source/CPack/cmCPackGenericGenerator.cxx
@@ -167,6 +167,7 @@ int cmCPackGenericGenerator::InstallProject()
ignoreFilesRegex.push_back(it->c_str());
}
}
+ this->CleanTemporaryDirectory();
const char* tempInstallDirectory
= this->GetOption("CPACK_TEMPORARY_INSTALL_DIRECTORY");
int res = 1;
@@ -189,6 +190,10 @@ int cmCPackGenericGenerator::InstallProject()
destDir += tempInstallDirectory;
cmSystemTools::PutEnv(destDir.c_str());
}
+#undef cerr
+
+ // If the CPackConfig file sets CPACK_INSTALL_COMMANDS then run them
+ // as listed
const char* installCommands = this->GetOption("CPACK_INSTALL_COMMANDS");
if ( installCommands && *installCommands )
{
@@ -199,6 +204,7 @@ int cmCPackGenericGenerator::InstallProject()
it != installCommandsVector.end();
++it )
{
+ std::cerr << *it << "\n";
cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Execute: " << it->c_str()
<< std::endl);
std::string output;
@@ -222,6 +228,10 @@ int cmCPackGenericGenerator::InstallProject()
}
}
}
+
+ // If the CPackConfig file sets CPACK_INSTALLED_DIRECTORIES
+ // then glob it and copy it to CPACK_TEMPORARY_DIRECTORY
+ // This is used in Source packageing
const char* installDirectories
= this->GetOption("CPACK_INSTALLED_DIRECTORIES");
if ( installDirectories && *installDirectories )
@@ -243,6 +253,7 @@ int cmCPackGenericGenerator::InstallProject()
it != installDirectoriesVector.end();
++it )
{
+ std::cerr << *it << "\n";
cmCPackLogger(cmCPackLog::LOG_DEBUG, "Find files" << std::endl);
cmsys::Glob gl;
std::string toplevel = it->c_str();
@@ -296,6 +307,9 @@ int cmCPackGenericGenerator::InstallProject()
}
}
}
+
+ // If the project is a CMAKE project then run pre-install
+ // and then read the cmake_install script to run it
const char* cmakeProjects
= this->GetOption("CPACK_INSTALL_CMAKE_PROJECTS");
const char* cmakeGenerator
@@ -321,6 +335,7 @@ int cmCPackGenericGenerator::InstallProject()
it != cmakeProjectsVector.end();
++it )
{
+ std::cerr << *it << "\n";
if ( it+1 == cmakeProjectsVector.end() ||
it+2 == cmakeProjectsVector.end() ||
it+3 == cmakeProjectsVector.end() )
@@ -430,6 +445,8 @@ int cmCPackGenericGenerator::InstallProject()
}
}
}
+
+ // ?????
const char* binaryDirectories = this->GetOption("CPACK_BINARY_DIR");
if ( binaryDirectories && !cmakeProjects )
{
@@ -441,6 +458,7 @@ int cmCPackGenericGenerator::InstallProject()
it != binaryDirectoriesVector.end();
++it )
{
+ std::cerr << *it << "\n";
std::string installFile = it->c_str();
installFile += "/cmake_install.cmake";
cmake cm;
@@ -471,6 +489,7 @@ int cmCPackGenericGenerator::InstallProject()
cmSystemTools::PutEnv("DESTDIR=");
}
+ std::cerr << "strip loop \n";
const char* stripExecutable = this->GetOption("CPACK_STRIP_COMMAND");
const char* stripFiles
= this->GetOption("CPACK_STRIP_FILES");
@@ -485,6 +504,7 @@ int cmCPackGenericGenerator::InstallProject()
it != stripFilesVector.end();
++it )
{
+ std::cerr << *it << "\n";
std::string fileName = tempInstallDirectory;
fileName += "/" + *it;
cmCPackLogger(cmCPackLog::LOG_VERBOSE,
@@ -862,3 +882,25 @@ bool cmCPackGenericGenerator::ConfigureFile(const char* inName,
return this->MakefileMap->ConfigureFile(inName, outName,
false, true, false) == 1;
}
+
+//----------------------------------------------------------------------
+int cmCPackGenericGenerator::CleanTemporaryDirectory()
+{
+ const char* tempInstallDirectory
+ = this->GetOption("CPACK_TEMPORARY_INSTALL_DIRECTORY");
+ if(cmsys::SystemTools::FileExists(tempInstallDirectory))
+ {
+ cmCPackLogger(cmCPackLog::LOG_OUTPUT,
+ "- Clean temporary : "
+ << tempInstallDirectory << std::endl);
+ if(!cmsys::SystemTools::RemoveADirectory(tempInstallDirectory))
+ {
+ cmCPackLogger(cmCPackLog::LOG_ERROR,
+ "Problem removing temporary directory: " <<
+ tempInstallDirectory
+ << std::endl);
+ return 0;
+ }
+ }
+ return 1;
+}