summaryrefslogtreecommitdiffstats
path: root/Source/cmInstallCommand.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2012-10-01 18:05:35 (GMT)
committerCMake Topic Stage <kwrobot@kitware.com>2012-10-01 18:05:35 (GMT)
commit49c7b649f958d34e06023a85af705122124328f5 (patch)
treeda779fbe7ff05fd344c241fb4f863cbc27f6efce /Source/cmInstallCommand.cxx
parent7dce31f3d03e2202ad54d8b6eb8ab00bce8bbe00 (diff)
parent80112da54e1aa8e64f73a2a5a6a4f73431ac6764 (diff)
downloadCMake-49c7b649f958d34e06023a85af705122124328f5.zip
CMake-49c7b649f958d34e06023a85af705122124328f5.tar.gz
CMake-49c7b649f958d34e06023a85af705122124328f5.tar.bz2
Merge topic 'export-sets'
80112da Merge topic 'AutomocUseTargetProperties' into export-sets 955b966 exports: add a test for exporting dependent targets 6f50a04 exports: define a CMAKE_FIND_PACKAGE_NAME var set by find_package() 0cfd055 exports: move the handling of missing targets into subclasses 190f2c8 exports: fix build with MSVC6 8b5f448 exports: first try at error handling if a target is missing 87f4c01 exports: accept a missing target if it is exported exactly once 999061a exports: store pointers to all installations of each export set 64b3a6c exports: cmGlobalGenerator::ExportSets destructor will clear it 81cdab5 exports: Hold an ExportSet pointer in cm*Export*Generator 5c898fb exports: Add cmExportSetMap class d13ec1a exports: Create class cmExportSet 4e2347c exports: Rename cmGlobalGenerator::AddTargetToExport{s,} e846e70 exports: Remove cmTargetExport constructor 81c66c8 exports: Move cmTargetExport to a dedicated header file ae4ab62 find_package: add support for a <package>_NOT_FOUND_MESSAGE variable ...
Diffstat (limited to 'Source/cmInstallCommand.cxx')
-rw-r--r--Source/cmInstallCommand.cxx19
1 files changed, 14 insertions, 5 deletions
diff --git a/Source/cmInstallCommand.cxx b/Source/cmInstallCommand.cxx
index 4016734..dcd418b 100644
--- a/Source/cmInstallCommand.cxx
+++ b/Source/cmInstallCommand.cxx
@@ -17,6 +17,8 @@
#include "cmInstallTargetGenerator.h"
#include "cmInstallExportGenerator.h"
#include "cmInstallCommandArguments.h"
+#include "cmTargetExport.h"
+#include "cmExportSet.h"
#include <cmsys/Glob.hxx>
@@ -735,11 +737,16 @@ bool cmInstallCommand::HandleTargetsMode(std::vector<std::string> const& args)
// this is not a namelink-only rule.
if(!exports.GetString().empty() && !namelinkOnly)
{
+ cmTargetExport *te = new cmTargetExport;
+ te->Target = &target;
+ te->ArchiveGenerator = archiveGenerator;
+ te->BundleGenerator = bundleGenerator;
+ te->FrameworkGenerator = frameworkGenerator;
+ te->HeaderGenerator = publicHeaderGenerator;
+ te->LibraryGenerator = libraryGenerator;
+ te->RuntimeGenerator = runtimeGenerator;
this->Makefile->GetLocalGenerator()->GetGlobalGenerator()
- ->AddTargetToExports(exports.GetCString(), &target,
- archiveGenerator, runtimeGenerator,
- libraryGenerator, frameworkGenerator,
- bundleGenerator, publicHeaderGenerator);
+ ->GetExportSets()[exports.GetString()]->AddTargetExport(te);
}
}
@@ -1264,7 +1271,9 @@ bool cmInstallCommand::HandleExportMode(std::vector<std::string> const& args)
// Create the export install generator.
cmInstallExportGenerator* exportGenerator =
new cmInstallExportGenerator(
- exp.GetCString(), ica.GetDestination().c_str(),
+ this->Makefile->GetLocalGenerator()
+ ->GetGlobalGenerator()->GetExportSets()[exp.GetString()],
+ ica.GetDestination().c_str(),
ica.GetPermissions().c_str(), ica.GetConfigurations(),
ica.GetComponent().c_str(), fname.c_str(),
name_space.GetCString(), this->Makefile);