diff options
author | Brad King <brad.king@kitware.com> | 2008-01-28 13:38:36 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-01-28 13:38:36 (GMT) |
commit | 5594ad488576a77d9c6b8c3c1999a04fb4e6867d (patch) | |
tree | f22726476b6eaaf3832e48c185fe3c112601db17 /Source/cmInstallTargetGenerator.cxx | |
parent | a7cb9d1120c0555f1da67dd585bd1b4fd16d389d (diff) | |
download | CMake-5594ad488576a77d9c6b8c3c1999a04fb4e6867d.zip CMake-5594ad488576a77d9c6b8c3c1999a04fb4e6867d.tar.gz CMake-5594ad488576a77d9c6b8c3c1999a04fb4e6867d.tar.bz2 |
ENH: Updated exporting and importing of targets to support libraries and configurations.
- Created cmExportFileGenerator hierarchy to implement export file generation
- Installed exports use per-config import files loaded by a central one.
- Include soname of shared libraries in import information
- Renamed PREFIX to NAMESPACE in INSTALL(EXPORT) and EXPORT() commands
- Move addition of CMAKE_INSTALL_PREFIX to destinations to install generators
- Import files compute the installation prefix relative to their location when loaded
- Add mapping of importer configurations to importee configurations
- Rename IMPORT targets to IMPORTED targets to distinguish from windows import libraries
- Scope IMPORTED targets within directories to isolate them
- Place all properties created by import files in the IMPORTED namespace
- Document INSTALL(EXPORT) and EXPORT() commands.
- Document IMPORTED signature of add_executable and add_library
- Enable finding of imported targets in cmComputeLinkDepends
Diffstat (limited to 'Source/cmInstallTargetGenerator.cxx')
-rw-r--r-- | Source/cmInstallTargetGenerator.cxx | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/Source/cmInstallTargetGenerator.cxx b/Source/cmInstallTargetGenerator.cxx index d6a9345..8a56329 100644 --- a/Source/cmInstallTargetGenerator.cxx +++ b/Source/cmInstallTargetGenerator.cxx @@ -113,22 +113,11 @@ void cmInstallTargetGenerator::GenerateScriptForConfig(std::ostream& os, if(config && *config) { - std::string config_upper = cmSystemTools::UpperCase(config); // Skip this configuration for config-specific installation that // does not match it. - if(!this->Configurations.empty()) + if(!this->InstallsForConfig(config)) { - bool found = false; - for(std::vector<std::string>::const_iterator i = - this->Configurations.begin(); - !found && i != this->Configurations.end(); ++i) - { - found = found || (cmSystemTools::UpperCase(*i) == config_upper); - } - if(!found) - { - return; - } + return; } // Generate a per-configuration block. @@ -154,7 +143,7 @@ cmInstallTargetGenerator Indent const& indent) { // Compute the full path to the main installed file for this target. - std::string toInstallPath = this->Destination; + std::string toInstallPath = this->GetInstallDestination(); toInstallPath += "/"; toInstallPath += this->GetInstallFilename(this->Target, config, this->ImportLibrary, false); @@ -279,7 +268,7 @@ cmInstallTargetGenerator const char* no_rename = 0; const char* no_properties = 0; bool optional = this->Optional || this->ImportLibrary; - this->AddInstallRule(os, this->Destination.c_str(), type, files, + this->AddInstallRule(os, type, files, optional, no_properties, this->FilePermissions.c_str(), no_dir_permissions, no_rename, literal_args.c_str(), @@ -412,7 +401,7 @@ cmInstallTargetGenerator { if(cmTarget* tgt = this->Target->GetMakefile()-> GetLocalGenerator()->GetGlobalGenerator()-> - FindTarget(0, lib.c_str(), false)) + FindTarget(0, lib.c_str())) { if(tgt->GetType() == cmTarget::SHARED_LIBRARY) { |