From 24d73fa0eb2e9f7cdc8fb8192445ce3ee04cf7d3 Mon Sep 17 00:00:00 2001 From: Rolf Eike Beer Date: Wed, 25 Jan 2017 21:53:40 +0100 Subject: 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. --- Modules/Compiler/GNU-C-DetermineCompiler.cmake | 11 +++++++++++ Modules/Compiler/GNU-CXX-DetermineCompiler.cmake | 15 +++++++++++++++ Modules/Compiler/GNU-DetermineCompiler.cmake | 11 ----------- 3 files changed, 26 insertions(+), 11 deletions(-) create mode 100644 Modules/Compiler/GNU-C-DetermineCompiler.cmake create mode 100644 Modules/Compiler/GNU-CXX-DetermineCompiler.cmake delete mode 100644 Modules/Compiler/GNU-DetermineCompiler.cmake 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") diff --git a/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake b/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake new file mode 100644 index 0000000..c25b147 --- /dev/null +++ b/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake @@ -0,0 +1,15 @@ + +set(_compiler_id_pp_test "defined(__GNUC__) || defined(__GNUG__)") + +set(_compiler_id_version_compute " +# if defined(__GNUC__) +# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUC__) +# else +# define @PREFIX@COMPILER_VERSION_MAJOR @MACRO_DEC@(__GNUG__) +# endif +# 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") diff --git a/Modules/Compiler/GNU-DetermineCompiler.cmake b/Modules/Compiler/GNU-DetermineCompiler.cmake deleted file mode 100644 index 6ddc566..0000000 --- a/Modules/Compiler/GNU-DetermineCompiler.cmake +++ /dev/null @@ -1,11 +0,0 @@ - -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") -- cgit v0.12