summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Source/cmGetSourceFilePropertyCommand.cxx5
-rw-r--r--Tests/COnly/CMakeLists.txt6
2 files changed, 11 insertions, 0 deletions
diff --git a/Source/cmGetSourceFilePropertyCommand.cxx b/Source/cmGetSourceFilePropertyCommand.cxx
index 0cc9090ba4..366ff165a5 100644
--- a/Source/cmGetSourceFilePropertyCommand.cxx
+++ b/Source/cmGetSourceFilePropertyCommand.cxx
@@ -49,6 +49,11 @@ bool cmGetSourceFilePropertyCommand::InitialPass(
// needs to be changed to be mutable etc. for computed properties to
// work properly.
sf->GetFullPath();
+ }
+ else if(args[2] == "LANGUAGE")
+ {
+ this->Makefile->AddDefinition(var, sf->GetLanguage());
+ return true;
}
const char *prop = sf->GetProperty(args[2].c_str());
if (prop)
diff --git a/Tests/COnly/CMakeLists.txt b/Tests/COnly/CMakeLists.txt
index de277feba7..c4d76e015c 100644
--- a/Tests/COnly/CMakeLists.txt
+++ b/Tests/COnly/CMakeLists.txt
@@ -12,3 +12,9 @@ if(MSVC_VERSION)
endif(MSVC_VERSION)
string(ASCII 35 32 67 77 97 107 101 ASCII_STRING)
message(STATUS "String: ${ASCII_STRING}")
+get_source_file_property(LANG conly.c LANGUAGE)
+if("${LANG}" STREQUAL "C")
+ message("Language is C")
+else("${LANG}" STREQUAL "C")
+ message(FATAL_ERROR "Bad language for file conly.c")
+endif("${LANG}" STREQUAL "C")