summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler/GNU-C-DetermineCompiler.cmake
diff options
context:
space:
mode:
authorRolf Eike Beer <eike@sf-mail.de>2017-01-25 20:53:40 (GMT)
committerRolf Eike Beer <eike@sf-mail.de>2017-01-25 20:53:40 (GMT)
commit24d73fa0eb2e9f7cdc8fb8192445ce3ee04cf7d3 (patch)
tree1fad1e3d9da720991be6e4d436f0816e599a8666 /Modules/Compiler/GNU-C-DetermineCompiler.cmake
parent014365ea97848654cc9493225399528f8b7b15b7 (diff)
downloadCMake-24d73fa0eb2e9f7cdc8fb8192445ce3ee04cf7d3.zip
CMake-24d73fa0eb2e9f7cdc8fb8192445ce3ee04cf7d3.tar.gz
CMake-24d73fa0eb2e9f7cdc8fb8192445ce3ee04cf7d3.tar.bz2
GNUC: also check __GNUG__ define when checking for g++
At least the scratchbox compiler for the N900, which basically is a gcc 4.2, sets only __GNUG__ in C++ mode, but not __GNUC__. It does indeed set __GNUC_MINOR__ and __GNUC_PATCHLEVEL__. Extend the compiler detection code for GNU compilers in C++ mode to look at __GNUG__ in case __GNUC__ is absent.
Diffstat (limited to 'Modules/Compiler/GNU-C-DetermineCompiler.cmake')
-rw-r--r--Modules/Compiler/GNU-C-DetermineCompiler.cmake11
1 files changed, 11 insertions, 0 deletions
diff --git a/Modules/Compiler/GNU-C-DetermineCompiler.cmake b/Modules/Compiler/GNU-C-DetermineCompiler.cmake
new file mode 100644
index 0000000..6ddc566
--- /dev/null
+++ b/Modules/Compiler/GNU-C-DetermineCompiler.cmake
@@ -0,0 +1,11 @@
+
+set(_compiler_id_pp_test "defined(__GNUC__)")
+
+set(_compiler_id_version_compute "
+# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUC__)
+# if defined(__GNUC_MINOR__)
+# define @PREFIX@COMPILER_VERSION_MINOR @MACRO_DEC@(__GNUC_MINOR__)
+# endif
+# if defined(__GNUC_PATCHLEVEL__)
+# define @PREFIX@COMPILER_VERSION_PATCH @MACRO_DEC@(__GNUC_PATCHLEVEL__)
+# endif")