summaryrefslogtreecommitdiff
path: root/Source/cmExportFileGenerator.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2012-12-10 23:05:11 +0100
committerStephen Kelly <steveire@gmail.com>2013-01-05 01:18:36 +0100
commit0c657dc637ca4da6861102c7306069ad157ec08d (patch)
tree453f107522f1bc9953717c9611960aea1b21fdf7 /Source/cmExportFileGenerator.h
parente04f737c7a3e66c49e2d50813af1fa40a415eff8 (diff)
downloadcmake-0c657dc637ca4da6861102c7306069ad157ec08d.tar.gz
Add API to populate INTERFACE properties in exported targets.
The INTERFACE properties need to be preprocessed for context (build location or install location) and to extract target names etc.
Diffstat (limited to 'Source/cmExportFileGenerator.h')
-rw-r--r--Source/cmExportFileGenerator.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h
index 0b89a642de..7c58ad8b44 100644
--- a/Source/cmExportFileGenerator.h
+++ b/Source/cmExportFileGenerator.h
@@ -13,6 +13,7 @@
#define cmExportFileGenerator_h
#include "cmCommand.h"
+#include "cmGeneratorExpression.h"
/** \class cmExportFileGenerator
* \brief Generate a file exporting targets from a build or install tree.
@@ -93,6 +94,13 @@ protected:
cmMakefile* mf,
cmTarget* depender,
cmTarget* dependee) = 0;
+ void PopulateInterfaceProperty(const char *,
+ cmTarget *target,
+ cmGeneratorExpression::PreprocessContext,
+ ImportPropertyMap &properties,
+ std::vector<std::string> &missingTargets);
+ void GenerateInterfaceProperties(cmTarget *target, std::ostream& os,
+ const ImportPropertyMap &properties);
void ResolveTargetsInGeneratorExpressions(std::string &input,
cmTarget* target,
@@ -113,6 +121,13 @@ protected:
// The set of targets included in the export.
std::set<cmTarget*> ExportedTargets;
+
+private:
+ void PopulateInterfaceProperty(const char *, const char *,
+ cmTarget *target,
+ cmGeneratorExpression::PreprocessContext,
+ ImportPropertyMap &properties,
+ std::vector<std::string> &missingTargets);
};
#endif