From eb49c62b6ba3edc84c54ca7e3083a7b3c907c0a8 Mon Sep 17 00:00:00 2001 From: sleske Date: Wed, 10 Sep 2014 22:36:02 +0000 Subject: Fix:build:Check if compiler options are supported before using them.|Allows building with GCC 3.3, to resolve #1144. git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5892 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- cmake/navit_macros.cmake | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'cmake') diff --git a/cmake/navit_macros.cmake b/cmake/navit_macros.cmake index de5ecb2f4..dd1b3bb37 100644 --- a/cmake/navit_macros.cmake +++ b/cmake/navit_macros.cmake @@ -86,3 +86,20 @@ macro(message_error) set(NAVIT_DEPENDENCY_ERROR 1) message( SEND_ERROR ${ARGN}) endmacro(message_error) + +include(CheckCCompilerFlag) +include(CheckCXXCompilerFlag) +function(add_compiler_flag_if_available FLAG) + set(VAR_FLAG_AVAILABLE_C "FLAG_AVAILABLE_C_${FLAG}") + check_c_compiler_flag(${FLAG} ${VAR_FLAG_AVAILABLE_C}) + if (${${VAR_FLAG_AVAILABLE_C}}) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLAG} ") + endif() + if(CMAKE_CXX_COMPILER) # C++ compiler is optional + set(VAR_FLAG_AVAILABLE_CXX "FLAG_AVAILABLE_CXX_${FLAG}") + check_cxx_compiler_flag(${FLAG} ${VAR_FLAG_AVAILABLE_CXX}) + if (${${VAR_FLAG_AVAILABLE_CXX}}) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLAG} ") + endif() + endif() +endfunction(add_compiler_flag_if_available) -- cgit v1.2.1