diff options
| -rw-r--r-- | Modules/CheckCCompilerFlag.cmake | 8 | ||||
| -rw-r--r-- | Modules/CheckCXXCompilerFlag.cmake | 8 | ||||
| -rw-r--r-- | Modules/CheckFortranCompilerFlag.cmake | 8 | ||||
| -rw-r--r-- | Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt | 7 | 
4 files changed, 19 insertions, 12 deletions
| diff --git a/Modules/CheckCCompilerFlag.cmake b/Modules/CheckCCompilerFlag.cmake index 750e4fb..53f3454 100644 --- a/Modules/CheckCCompilerFlag.cmake +++ b/Modules/CheckCCompilerFlag.cmake @@ -13,7 +13,7 @@  #            Will be created as an internal cache variable.  #  # This internally calls the check_c_source_compiles macro and sets -# CMAKE_REQUIRED_FLAGS to <flag>.  See help for +# CMAKE_REQUIRED_DEFINITIONS to <flag>.  See help for  # CheckCSourceCompiles for a listing of variables that can otherwise  # modify the build.  The result only tells that the compiler does not  # give an error message when it encounters the flag.  If the flag has @@ -38,8 +38,8 @@ include(CheckCSourceCompiles)  include(CMakeCheckCompilerFlagCommonPatterns)  macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT) -   set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") -   set(CMAKE_REQUIRED_FLAGS "${_FLAG}") +   set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") +   set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")     # Normalize locale during test compilation.     set(_CheckCCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG) @@ -60,5 +60,5 @@ macro (CHECK_C_COMPILER_FLAG _FLAG _RESULT)     unset(_CheckCCompilerFlag_LOCALE_VARS)     unset(_CheckCCompilerFlag_COMMON_PATTERNS) -   set (CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}") +   set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")  endmacro () diff --git a/Modules/CheckCXXCompilerFlag.cmake b/Modules/CheckCXXCompilerFlag.cmake index 71b3fd2..fab3a05 100644 --- a/Modules/CheckCXXCompilerFlag.cmake +++ b/Modules/CheckCXXCompilerFlag.cmake @@ -12,7 +12,7 @@  #   <var>  - variable to store the result  #  # This internally calls the check_cxx_source_compiles macro and sets -# CMAKE_REQUIRED_FLAGS to <flag>.  See help for +# CMAKE_REQUIRED_DEFINITIONS to <flag>.  See help for  # CheckCXXSourceCompiles for a listing of variables that can otherwise  # modify the build.  The result only tells that the compiler does not  # give an error message when it encounters the flag.  If the flag has @@ -37,8 +37,8 @@ include(CheckCXXSourceCompiles)  include(CMakeCheckCompilerFlagCommonPatterns)  macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT) -   set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") -   set(CMAKE_REQUIRED_FLAGS "${_FLAG}") +   set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") +   set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")     # Normalize locale during test compilation.     set(_CheckCXXCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG) @@ -59,6 +59,6 @@ macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)     unset(_CheckCXXCompilerFlag_LOCALE_VARS)     unset(_CheckCXXCompilerFlag_COMMON_PATTERNS) -   set (CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}") +   set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")  endmacro () diff --git a/Modules/CheckFortranCompilerFlag.cmake b/Modules/CheckFortranCompilerFlag.cmake index c476661..53fd8d6 100644 --- a/Modules/CheckFortranCompilerFlag.cmake +++ b/Modules/CheckFortranCompilerFlag.cmake @@ -13,7 +13,7 @@  #            Will be created as an internal cache variable.  #  # This internally calls the check_fortran_source_compiles macro and -# sets CMAKE_REQUIRED_FLAGS to <flag>.  See help for +# sets CMAKE_REQUIRED_DEFINITIONS to <flag>.  See help for  # CheckFortranSourceCompiles for a listing of variables that can  # otherwise modify the build.  The result only tells that the compiler  # does not give an error message when it encounters the flag.  If the @@ -40,8 +40,8 @@ include(CheckFortranSourceCompiles)  include(CMakeCheckCompilerFlagCommonPatterns)  macro (CHECK_Fortran_COMPILER_FLAG _FLAG _RESULT) -  set(SAFE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}") -  set(CMAKE_REQUIRED_FLAGS "${_FLAG}") +  set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}") +  set(CMAKE_REQUIRED_DEFINITIONS "${_FLAG}")    # Normalize locale during test compilation.    set(_CheckFortranCompilerFlag_LOCALE_VARS LC_ALL LC_MESSAGES LANG) @@ -62,5 +62,5 @@ macro (CHECK_Fortran_COMPILER_FLAG _FLAG _RESULT)    unset(_CheckFortranCompilerFlag_LOCALE_VARS)    unset(_CheckFortranCompilerFlag_COMMON_PATTERNS) -  set (CMAKE_REQUIRED_FLAGS "${SAFE_CMAKE_REQUIRED_FLAGS}") +  set (CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")  endmacro () diff --git a/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt b/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt index e205330..9be69f1 100644 --- a/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt +++ b/Tests/CMakeOnly/CheckCXXCompilerFlag/CMakeLists.txt @@ -56,3 +56,10 @@ if(CMAKE_COMPILER_IS_GNUCXX)  else()    message("Unhandled Platform")  endif() + +if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") +  check_cxx_compiler_flag("-x c++" HAVE_X_CXX) +  if(NOT HAVE_X_CXX) +    message(FATAL_ERROR "${CMAKE_CXX_COMPILER_ID} compiler flag '-x c++' check failed") +  endif() +endif() | 
