summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalXCodeGenerator.cxx
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2020-06-01 17:45:13 (GMT)
committerRobert Maynard <robert.maynard@kitware.com>2020-06-09 23:41:20 (GMT)
commit74b1c9fc8e8b33c8faa9aadf6ce09c15d94ea011 (patch)
tree4574908690751173637e9ef498c495f6a1501e63 /Source/cmGlobalXCodeGenerator.cxx
parent457170a476ca3ff3b5db80360a7fd8202ac31e91 (diff)
downloadCMake-74b1c9fc8e8b33c8faa9aadf6ce09c15d94ea011.zip
CMake-74b1c9fc8e8b33c8faa9aadf6ce09c15d94ea011.tar.gz
CMake-74b1c9fc8e8b33c8faa9aadf6ce09c15d94ea011.tar.bz2
Explicitly specify language flag when source LANGUAGE property is set
Fixes: #14516, #20716
Diffstat (limited to 'Source/cmGlobalXCodeGenerator.cxx')
-rw-r--r--Source/cmGlobalXCodeGenerator.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index a5ce5d1..4d589ed 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -819,6 +819,14 @@ cmXCodeObject* cmGlobalXCodeGenerator::CreateXCodeSourceFile(
default:
break;
}
+
+ // explicitly add the explicit language flag before any other flag
+ // this way backwards compatibility with user flags is maintained
+ if (sf->GetProperty("LANGUAGE")) {
+ this->CurrentLocalGenerator->AppendFeatureOptions(flags, lang,
+ "EXPLICIT_LANGUAGE");
+ }
+
const std::string COMPILE_FLAGS("COMPILE_FLAGS");
if (cmProp cflags = sf->GetProperty(COMPILE_FLAGS)) {
lg->AppendFlags(flags, genexInterpreter.Evaluate(*cflags, COMPILE_FLAGS));