summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-10-21 23:40:47 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-04-07 16:11:18 (GMT)
commit5412deded1073e9a217c771ae24e8c5a8a581a96 (patch)
tree2ab7c8215edfb7083425cb241a5310ed50ce3862 /Source/cmTarget.h
parentbaff44345cff8e635766e020d316da514616c16e (diff)
downloadCMake-5412deded1073e9a217c771ae24e8c5a8a581a96.zip
CMake-5412deded1073e9a217c771ae24e8c5a8a581a96.tar.gz
CMake-5412deded1073e9a217c771ae24e8c5a8a581a96.tar.bz2
cmTarget: Transitively evaluate compiler features.
Extend the interface of the target_compile_features command with PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES target property if they are set. Consume the INTERFACE_COMPILER_FEATURES target property from linked dependent targets to determine the final required compiler features and the compile flag, if needed. Use the same pattern of origin-debugging which is used for other build properties.
Diffstat (limited to 'Source/cmTarget.h')
-rw-r--r--Source/cmTarget.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/Source/cmTarget.h b/Source/cmTarget.h
index fe3ea2b..8984649 100644
--- a/Source/cmTarget.h
+++ b/Source/cmTarget.h
@@ -545,7 +545,8 @@ public:
const std::string& config) const;
void GetAutoUicOptions(std::vector<std::string> &result,
const std::string& config) const;
- void GetCompileFeatures(std::vector<std::string> &features) const;
+ void GetCompileFeatures(std::vector<std::string> &features,
+ const std::string& config) const;
bool IsNullImpliedByLinkLibraries(const std::string &p) const;
bool IsLinkInterfaceDependentBoolProperty(const std::string &p,
@@ -712,6 +713,7 @@ private:
mutable bool DebugCompileOptionsDone;
mutable bool DebugCompileDefinitionsDone;
mutable bool DebugSourcesDone;
+ mutable bool DebugCompileFeaturesDone;
mutable std::set<std::string> LinkImplicitNullProperties;
bool BuildInterfaceIncludesAppended;