From 3ceaf7acf91309a370164cf2e383a46f270f8587 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sun, 5 Jun 2016 09:37:26 +0200 Subject: [PATCH] + make compiler check working for older cmake versions --- CMakeLists.txt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 41d008bb9..328505a18 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,13 +55,19 @@ if(NOT ${BOOST_MIN_VERSION}) set(BOOST_MIN_VERSION 1.48) endif() +# For older cmake versions the variable 'CMAKE_CXX_COMPILER_VERSION' is missing +IF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION) + EXECUTE_PROCESS(COMMAND ${CMAKE_C_COMPILER} -dumpversion + OUTPUT_VARIABLE CMAKE_CXX_COMPILER_VERSION) +ENDIF(CMAKE_COMPILER_IS_GNUCXX AND NOT CMAKE_CXX_COMPILER_VERSION) + # Enabled C++11 for Freecad 0.17 and later IF(FREECAD_VERSION VERSION_GREATER 0.16) OPTION(BUILD_ENABLE_CXX11 "Enable C++11 support." ON) IF(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7) - MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. G++ must be 4.7 or later") + MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. G++ must be 4.7 or later, the used version is ${CMAKE_CXX_COMPILER_VERSION}") ELSEIF(CMAKE_COMPILER_IS_CLANGXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.3) - MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. Clang must be 3.3 or later") + MESSAGE(FATAL_ERROR "FreeCAD 0.17 and later requires C++11. Clang must be 3.3 or later, the used version is ${CMAKE_CXX_COMPILER_VERSION}") ENDIF() ENDIF(FREECAD_VERSION VERSION_GREATER 0.16)