diff options
author | Brad King <brad.king@kitware.com> | 2013-01-07 19:20:13 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-01-07 19:20:13 (GMT) |
commit | db925e3532719af44022b50d2462ac5b050907bc (patch) | |
tree | 3dacf9dd76f0d78df1796ee4a96590ac6b057a88 /Source/cmExportFileGenerator.h | |
parent | b5ab3f0707cae7affa14423012997503825a867c (diff) | |
parent | 894f52f32d96ae92df0ba3dac2a70fe9c87e818d (diff) | |
download | CMake-db925e3532719af44022b50d2462ac5b050907bc.zip CMake-db925e3532719af44022b50d2462ac5b050907bc.tar.gz CMake-db925e3532719af44022b50d2462ac5b050907bc.tar.bz2 |
Merge topic 'interface-includes-defines'
894f52f Handle INTERFACE properties transitively for includes and defines.
f5b1980 Populate the ExportedTargets member early in GenerateMainFile
c67b812 Make cycles in target properties ignored, not an error.
d0f950f Use mapped config properties to evaluate $<CONFIG>
26def17 Make all relevant targets available in the genex context.
0c657dc Add API to populate INTERFACE properties in exported targets.
e04f737 Add API to extract target names from a genex string.
b0c8f73 Add the TARGET_NAME generator expression.
77475fe Allow generator expressions to require literals.
b2f1700 GenEx: Add expressions to specify build- or install-only values
Diffstat (limited to 'Source/cmExportFileGenerator.h')
-rw-r--r-- | Source/cmExportFileGenerator.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/cmExportFileGenerator.h b/Source/cmExportFileGenerator.h index 4a75c52..7c58ad8 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,17 @@ 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, + std::vector<std::string> &missingTargets); // The namespace in which the exports are placed in the generated file. std::string Namespace; @@ -109,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 |