diff options
Diffstat (limited to 'Tests/RunCMake/CheckCompilerFlag/CheckCXXCompilerFlag.cmake')
-rw-r--r-- | Tests/RunCMake/CheckCompilerFlag/CheckCXXCompilerFlag.cmake | 27 |
1 files changed, 10 insertions, 17 deletions
diff --git a/Tests/RunCMake/CheckCompilerFlag/CheckCXXCompilerFlag.cmake b/Tests/RunCMake/CheckCompilerFlag/CheckCXXCompilerFlag.cmake index dec31ec..eb20eb4 100644 --- a/Tests/RunCMake/CheckCompilerFlag/CheckCXXCompilerFlag.cmake +++ b/Tests/RunCMake/CheckCompilerFlag/CheckCXXCompilerFlag.cmake @@ -1,26 +1,19 @@ enable_language (CXX) -include(CheckCompilerFlag) +include(CheckCXXCompilerFlag) set(CXX 1) # test that this is tolerated -# test that the check uses an isolated locale -set(_env_LC_ALL "${LC_ALL}") -set(ENV{LC_ALL} "BAD") - -check_compiler_flag(CXX "-_this_is_not_a_flag_" SHOULD_FAIL) -if(SHOULD_FAIL) - message(SEND_ERROR "invalid CXX compile flag didn't fail.") +if(NOT CMAKE_CXX_COMPILER_ID STREQUAL "PathScale") + set(DD --) endif() -if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|LCC|Clang" AND NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") - check_compiler_flag(CXX "-x c++" SHOULD_WORK) - if(NOT SHOULD_WORK) - message(SEND_ERROR "${CMAKE_CXX_COMPILER_ID} compiler flag '-x c++' check failed") - endif() +check_cxx_compiler_flag("${DD}-_this_is_not_a_flag_" CXX_BOGUS_FLAG) +if(CXX_BOGUS_FLAG) + message(SEND_ERROR "CHECK_CXX_COMPILER_FLAG() succeeded, but should have failed") endif() - -if(NOT "$ENV{LC_ALL}" STREQUAL "BAD") - message(SEND_ERROR "ENV{LC_ALL} was not preserved by check_compiler_flag") +unset(CXX_BOGUS_FLAG CACHE) +if(DEFINED CXX_BOGUS_FLAG) + # Verify that CHECK_CXX_COMPILER_FLAG didn't construct a normal variable + message(SEND_ERROR "CHECK_CXX_COMPILER_FLAG shouldn't construct CXX_BOGUS_FLAG as a normal variable") endif() -set(ENV{LC_ALL} ${_env_LC_ALL}) |