summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallExportGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmInstallExportGenerator.cxx')
-rw-r--r--Source/cmInstallExportGenerator.cxx126
1 files changed, 48 insertions, 78 deletions
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index d77e14f..31fd91a 100644
--- a/Source/cmInstallExportGenerator.cxx
+++ b/Source/cmInstallExportGenerator.cxx
@@ -26,23 +26,18 @@
#include "cmExportSet.h"
cmInstallExportGenerator::cmInstallExportGenerator(
- cmExportSet* exportSet,
- const char* destination,
- const char* file_permissions,
- std::vector<std::string> const& configurations,
- const char* component,
- MessageLevel message,
- bool exclude_from_all,
- const char* filename, const char* name_space,
- bool exportOld)
- :cmInstallGenerator(destination, configurations, component, message,
- exclude_from_all)
- ,ExportSet(exportSet)
- ,FilePermissions(file_permissions)
- ,FileName(filename)
- ,Namespace(name_space)
- ,ExportOld(exportOld)
- ,LocalGenerator(0)
+ cmExportSet* exportSet, const char* destination,
+ const char* file_permissions, std::vector<std::string> const& configurations,
+ const char* component, MessageLevel message, bool exclude_from_all,
+ const char* filename, const char* name_space, bool exportOld)
+ : cmInstallGenerator(destination, configurations, component, message,
+ exclude_from_all)
+ , ExportSet(exportSet)
+ , FilePermissions(file_permissions)
+ , FileName(filename)
+ , Namespace(name_space)
+ , ExportOld(exportOld)
+ , LocalGenerator(0)
{
this->EFGen = new cmExportInstallFileGenerator(this);
exportSet->AddInstallation(this);
@@ -63,18 +58,14 @@ void cmInstallExportGenerator::ComputeTempDir()
{
// Choose a temporary directory in which to generate the import
// files to be installed.
- this->TempDir =
- this->LocalGenerator->GetCurrentBinaryDirectory();
+ this->TempDir = this->LocalGenerator->GetCurrentBinaryDirectory();
this->TempDir += cmake::GetCMakeFilesDirectory();
this->TempDir += "/Export";
- if(this->Destination.empty())
- {
+ if (this->Destination.empty()) {
return;
- }
- else
- {
+ } else {
this->TempDir += "/";
- }
+ }
// Enforce a maximum length.
bool useMD5 = false;
@@ -83,33 +74,24 @@ void cmInstallExportGenerator::ComputeTempDir()
#else
std::string::size_type const max_total_len = 1000;
#endif
- if(this->TempDir.size() < max_total_len)
- {
+ if (this->TempDir.size() < max_total_len) {
// Keep the total path length below the limit.
std::string::size_type max_len = max_total_len - this->TempDir.size();
- if(this->Destination.size() > max_len)
- {
+ if (this->Destination.size() > max_len) {
useMD5 = true;
- }
}
- else
- {
+ } else {
useMD5 = true;
- }
- if(useMD5)
- {
+ }
+ if (useMD5) {
// Replace the destination path with a hash to keep it short.
- this->TempDir +=
- cmSystemTools::ComputeStringMD5(this->Destination);
- }
- else
- {
+ this->TempDir += cmSystemTools::ComputeStringMD5(this->Destination);
+ } else {
std::string dest = this->Destination;
// Avoid unix full paths.
- if(dest[0] == '/')
- {
+ if (dest[0] == '/') {
dest[0] = '_';
- }
+ }
// Avoid windows full paths by removing colons.
cmSystemTools::ReplaceString(dest, ":", "_");
// Avoid relative paths that go up the tree.
@@ -117,20 +99,19 @@ void cmInstallExportGenerator::ComputeTempDir()
// Avoid spaces.
cmSystemTools::ReplaceString(dest, " ", "_");
this->TempDir += dest;
- }
+ }
}
void cmInstallExportGenerator::GenerateScript(std::ostream& os)
{
// Skip empty sets.
- if(ExportSet->GetTargetExports()->empty())
- {
+ if (ExportSet->GetTargetExports()->empty()) {
std::ostringstream e;
- e << "INSTALL(EXPORT) given unknown export \""
- << ExportSet->GetName() << "\"";
+ e << "INSTALL(EXPORT) given unknown export \"" << ExportSet->GetName()
+ << "\"";
cmSystemTools::Error(e.str().c_str());
return;
- }
+ }
// Create the temporary directory in which to store the files.
this->ComputeTempDir();
@@ -145,35 +126,27 @@ void cmInstallExportGenerator::GenerateScript(std::ostream& os)
this->EFGen->SetExportFile(this->MainImportFile.c_str());
this->EFGen->SetNamespace(this->Namespace);
this->EFGen->SetExportOld(this->ExportOld);
- if(this->ConfigurationTypes->empty())
- {
- if(!this->ConfigurationName.empty())
- {
+ if (this->ConfigurationTypes->empty()) {
+ if (!this->ConfigurationName.empty()) {
this->EFGen->AddConfiguration(this->ConfigurationName);
- }
- else
- {
+ } else {
this->EFGen->AddConfiguration("");
- }
}
- else
- {
- for(std::vector<std::string>::const_iterator
- ci = this->ConfigurationTypes->begin();
- ci != this->ConfigurationTypes->end(); ++ci)
- {
+ } else {
+ for (std::vector<std::string>::const_iterator ci =
+ this->ConfigurationTypes->begin();
+ ci != this->ConfigurationTypes->end(); ++ci) {
this->EFGen->AddConfiguration(*ci);
- }
}
+ }
this->EFGen->GenerateImportFile();
// Perform the main install script generation.
this->cmInstallGenerator::GenerateScript(os);
}
-void
-cmInstallExportGenerator::GenerateScriptConfigs(std::ostream& os,
- Indent const& indent)
+void cmInstallExportGenerator::GenerateScriptConfigs(std::ostream& os,
+ Indent const& indent)
{
// Create the main install rules first.
this->cmInstallGenerator::GenerateScriptConfigs(os, indent);
@@ -181,20 +154,18 @@ cmInstallExportGenerator::GenerateScriptConfigs(std::ostream& os,
// Now create a configuration-specific install rule for the import
// file of each configuration.
std::vector<std::string> files;
- for(std::map<std::string, std::string>::const_iterator
- i = this->EFGen->GetConfigImportFiles().begin();
- i != this->EFGen->GetConfigImportFiles().end(); ++i)
- {
+ for (std::map<std::string, std::string>::const_iterator i =
+ this->EFGen->GetConfigImportFiles().begin();
+ i != this->EFGen->GetConfigImportFiles().end(); ++i) {
files.push_back(i->second);
std::string config_test = this->CreateConfigTest(i->first);
os << indent << "if(" << config_test << ")\n";
- this->AddInstallRule(os, this->Destination,
- cmInstallType_FILES, files, false,
- this->FilePermissions.c_str(), 0, 0, 0,
+ this->AddInstallRule(os, this->Destination, cmInstallType_FILES, files,
+ false, this->FilePermissions.c_str(), 0, 0, 0,
indent.Next());
os << indent << "endif()\n";
files.clear();
- }
+ }
}
void cmInstallExportGenerator::GenerateScriptActions(std::ostream& os,
@@ -229,7 +200,6 @@ void cmInstallExportGenerator::GenerateScriptActions(std::ostream& os,
// Install the main export file.
std::vector<std::string> files;
files.push_back(this->MainImportFile);
- this->AddInstallRule(os, this->Destination,
- cmInstallType_FILES, files, false,
- this->FilePermissions.c_str(), 0, 0, 0, indent);
+ this->AddInstallRule(os, this->Destination, cmInstallType_FILES, files,
+ false, this->FilePermissions.c_str(), 0, 0, 0, indent);
}