summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Neundorf <neundorf@kde.org>2012-09-15 19:04:48 (GMT)
committerBrad King <brad.king@kitware.com>2012-09-28 13:21:39 (GMT)
commit999061a4c2000213e6f04695f1f1fe546c86703d (patch)
tree795940bb6bd47d8a06d6f69b272501f19cbd61b9
parent64b3a6c9cf3f1b64dce357852995a802139afbbd (diff)
downloadCMake-999061a4c2000213e6f04695f1f1fe546c86703d.zip
CMake-999061a4c2000213e6f04695f1f1fe546c86703d.tar.gz
CMake-999061a4c2000213e6f04695f1f1fe546c86703d.tar.bz2
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
-rw-r--r--Source/cmExportSet.cxx5
-rw-r--r--Source/cmExportSet.h8
-rw-r--r--Source/cmInstallExportGenerator.cxx1
3 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmExportSet.cxx b/Source/cmExportSet.cxx
index b86e147..464ad68 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 5d4d25f..91a8bf9 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<cmTargetExport const*> const* GetTargetExports() const
{ return &this->TargetExports; }
+ std::vector<cmInstallExportGenerator const*> const* GetInstallations() const
+ { return &this->Installations; }
+
private:
std::vector<cmTargetExport const*> TargetExports;
std::string Name;
+ std::vector<cmInstallExportGenerator const*> Installations;
};
#endif
diff --git a/Source/cmInstallExportGenerator.cxx b/Source/cmInstallExportGenerator.cxx
index caedaf5..0a645a8 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);
}
//----------------------------------------------------------------------------