summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpressionEvaluator.cxx
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-05-16 13:15:28 (GMT)
committerStephen Kelly <steveire@gmail.com>2013-06-02 09:56:37 (GMT)
commit80ca9c4b41ecdce069a6c3f4c1b558084a748876 (patch)
treee96eb29cd532378cd79c3e3ea4bb975ffbc2e285 /Source/cmGeneratorExpressionEvaluator.cxx
parent7cb23084b2595d06aea46cead0e077b5f13aeddb (diff)
downloadCMake-80ca9c4b41ecdce069a6c3f4c1b558084a748876.zip
CMake-80ca9c4b41ecdce069a6c3f4c1b558084a748876.tar.gz
CMake-80ca9c4b41ecdce069a6c3f4c1b558084a748876.tar.bz2
Add COMPILE_OPTIONS target property.
This method reads generator expressions from the COMPILE_OPTIONS target property, as well as INTERFACE_COMPILE_OPTIONS from linked dependents.
Diffstat (limited to 'Source/cmGeneratorExpressionEvaluator.cxx')
-rw-r--r--Source/cmGeneratorExpressionEvaluator.cxx9
1 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index f27761a..5e7d00d 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -495,6 +495,7 @@ static const struct JoinNode : public cmGeneratorExpressionNode
static const char* targetPropertyTransitiveWhitelist[] = {
"INTERFACE_INCLUDE_DIRECTORIES"
, "INTERFACE_COMPILE_DEFINITIONS"
+ , "INTERFACE_COMPILE_OPTIONS"
};
std::string getLinkedTargetsContent(const std::vector<std::string> &libraries,
@@ -702,7 +703,8 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
else
{
assert(dagCheckerParent->EvaluatingIncludeDirectories()
- || dagCheckerParent->EvaluatingCompileDefinitions());
+ || dagCheckerParent->EvaluatingCompileDefinitions()
+ || dagCheckerParent->EvaluatingCompileOptions());
}
}
@@ -721,6 +723,11 @@ static const struct TargetPropertyNode : public cmGeneratorExpressionNode
{
interfacePropertyName = "INTERFACE_COMPILE_DEFINITIONS";
}
+ else if (propertyName == "INTERFACE_COMPILE_OPTIONS"
+ || propertyName == "COMPILE_OPTIONS")
+ {
+ interfacePropertyName = "INTERFACE_COMPILE_OPTIONS";
+ }
const char **transBegin = targetPropertyTransitiveWhitelist;
const char **transEnd = targetPropertyTransitiveWhitelist