From 999061a4c2000213e6f04695f1f1fe546c86703d Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Sat, 15 Sep 2012 21:04:48 +0200 Subject: [PATCH] exports: store pointers to all installations of each export set This information will be used to check whether a target is exported once or multiple times and to check its namespace. Alex --- Source/cmExportSet.cxx | 5 +++++ Source/cmExportSet.h | 8 ++++++++ Source/cmInstallExportGenerator.cxx | 1 + 3 files changed, 14 insertions(+) diff --git a/Source/cmExportSet.cxx b/Source/cmExportSet.cxx index b86e147c3..464ad6848 100644 --- a/Source/cmExportSet.cxx +++ b/Source/cmExportSet.cxx @@ -25,3 +25,8 @@ void cmExportSet::AddTargetExport(cmTargetExport const* te) { this->TargetExports.push_back(te); } + +void cmExportSet::AddInstallation(cmInstallExportGenerator const* installation) +{ + this->Installations.push_back(installation); +} diff --git a/Source/cmExportSet.h b/Source/cmExportSet.h index 5d4d25ff0..91a8bf953 100644 --- a/Source/cmExportSet.h +++ b/Source/cmExportSet.h @@ -14,6 +14,7 @@ #include "cmSystemTools.h" class cmTargetExport; +class cmInstallExportGenerator; /// A set of targets that were installed with the same EXPORT parameter. class cmExportSet @@ -26,13 +27,20 @@ public: void AddTargetExport(cmTargetExport const* tgt); + void AddInstallation(cmInstallExportGenerator const* installation); + std::string const& GetName() const { return this->Name; } + std::vector const* GetTargetExports() const { return &this->TargetExports; } + std::vector const* GetInstallations() const + { return &this->Installations; } + private: std::vector TargetExports; std::string Name; + std::vector Installations; }; #endif diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx index caedaf56b..0a645a8fa 100644 --- a/Source/cmInstallExportGenerator.cxx +++ b/Source/cmInstallExportGenerator.cxx @@ -42,6 +42,7 @@ cmInstallExportGenerator::cmInstallExportGenerator( ,Makefile(mf) { this->EFGen = new cmExportInstallFileGenerator(this); + exportSet->AddInstallation(this); } //----------------------------------------------------------------------------