summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.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/cmMakefileTargetGenerator.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/cmMakefileTargetGenerator.cxx')
-rw-r--r--Source/cmMakefileTargetGenerator.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index 8396fa3..6887569 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -532,6 +532,13 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
// Build the set of compiler flags.
std::string flags;
+ // explicitly add the explicit language flag before any other flag
+ // this way backwards compatibility with user flags is maintained
+ if (source.GetProperty("LANGUAGE")) {
+ this->LocalGenerator->AppendFeatureOptions(flags, lang,
+ "EXPLICIT_LANGUAGE");
+ }
+
// Add language-specific flags.
std::string langFlags = cmStrCat("$(", lang, "_FLAGS", filterArch, ")");
this->LocalGenerator->AppendFlags(flags, langFlags);