From 899c5c32cf87166ec945750e45209f1f0c14cca8 Mon Sep 17 00:00:00 2001 From: Sergei Golubchik Date: Fri, 10 Apr 2015 13:39:29 +0200 Subject: smarter MY_CHECK_AND_SET_COMPILER_FLAG If a flag is supported only for C or C++ - add it to the corresponding compiler option list. Old behavior was to add always to both, but only if supported in both. --- cmake/check_compiler_flag.cmake | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'cmake') diff --git a/cmake/check_compiler_flag.cmake b/cmake/check_compiler_flag.cmake index 8eb6ed2176e..4a029659f43 100644 --- a/cmake/check_compiler_flag.cmake +++ b/cmake/check_compiler_flag.cmake @@ -37,16 +37,16 @@ FUNCTION(MY_CHECK_AND_SET_COMPILER_FLAG flag) ENDIF() MY_CHECK_C_COMPILER_FLAG(${flag} HAVE_C_${flag}) MY_CHECK_CXX_COMPILER_FLAG(${flag} HAVE_CXX_${flag}) - IF (HAVE_C_${flag} AND HAVE_CXX_${flag}) - IF(ARGN) - FOREACH(type ${ARGN}) - SET(CMAKE_C_FLAGS_${type} "${CMAKE_C_FLAGS_${type}} ${flag}" PARENT_SCOPE) - SET(CMAKE_CXX_FLAGS_${type} "${CMAKE_CXX_FLAGS_${type}} ${flag}" PARENT_SCOPE) - ENDFOREACH() - ELSE() - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}" PARENT_SCOPE) - SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${flag}" PARENT_SCOPE) + FOREACH(lang C CXX) + IF (HAVE_${lang}_${flag}) + IF(ARGN) + FOREACH(type ${ARGN}) + SET(CMAKE_${lang}_FLAGS_${type} "${CMAKE_${lang}_FLAGS_${type}} ${flag}" PARENT_SCOPE) + ENDFOREACH() + ELSE() + SET(CMAKE_${lang}_FLAGS "${CMAKE_${lang}_FLAGS} ${flag}" PARENT_SCOPE) + ENDIF() ENDIF() - ENDIF() + ENDFOREACH() ENDFUNCTION() -- cgit v1.2.1