summaryrefslogtreecommitdiff
path: root/Source/cmExportBuildFileGenerator.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-10-06 17:27:40 +0200
committerStephen Kelly <steveire@gmail.com>2013-10-11 12:46:10 +0200
commit66b290e7e2bbeb987ea83e2f9edaac99fe8593f5 (patch)
tree2382c213f05d1a19d0d3c17e667c712335ec5756 /Source/cmExportBuildFileGenerator.h
parent5fe5c32480a5acf26bd20e52a091cd63747ed77d (diff)
downloadcmake-66b290e7e2bbeb987ea83e2f9edaac99fe8593f5.tar.gz
export(): Process the export() command at generate time.
Make the API for adding targets string based so that it can easily use cmGeneratorTarget. Teach the cmIncludeCommand to generate the exported file at configure-time instead if it is to be include()d. The RunCMake.ExportWithoutLanguage test now needs a dummy header.h file as expected error from export() is now reported after the missing file error.
Diffstat (limited to 'Source/cmExportBuildFileGenerator.h')
-rw-r--r--Source/cmExportBuildFileGenerator.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/Source/cmExportBuildFileGenerator.h b/Source/cmExportBuildFileGenerator.h
index 4436896107..0392d80266 100644
--- a/Source/cmExportBuildFileGenerator.h
+++ b/Source/cmExportBuildFileGenerator.h
@@ -30,8 +30,13 @@ public:
cmExportBuildFileGenerator();
/** Set the list of targets to export. */
- void SetExports(std::vector<cmTarget*> const* exports)
- { this->Exports = exports; }
+ void SetTargets(std::vector<std::string> const& targets)
+ { this->Targets = targets; }
+ std::vector<std::string> const& GetTargets() const
+ { return this->Targets; }
+ void AppendTargets(std::vector<std::string> const& targets)
+ { this->Targets.insert(this->Targets.end(),
+ targets.begin(), targets.end()); }
/** Set whether to append generated code to the output file. */
void SetAppendMode(bool append) { this->AppendMode = append; }
@@ -65,7 +70,8 @@ protected:
std::string InstallNameDir(cmTarget* target, const std::string& config);
- std::vector<cmTarget*> const* Exports;
+ std::vector<std::string> Targets;
+ std::vector<cmTarget*> Exports;
cmMakefile* Makefile;
cmListFileBacktrace Backtrace;
};