summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-04-07 19:00:38 (GMT)
committerBrad King <brad.king@kitware.com>2022-04-07 19:07:48 (GMT)
commit9dd585d12c54f6d0768aea6526ea627f81f436ad (patch)
treeeec63dd00ceee7b4b32a33d74f1fbac438d7eef7 /Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake
parente9236b6641d9279e353be8a08ffec3be6168c7df (diff)
downloadCMake-9dd585d12c54f6d0768aea6526ea627f81f436ad.zip
CMake-9dd585d12c54f6d0768aea6526ea627f81f436ad.tar.gz
CMake-9dd585d12c54f6d0768aea6526ea627f81f436ad.tar.bz2
CheckCompilerFlag: Fix regression in locale environment preservation
Fix a typo from commit 660e0d80ae (internal/CheckCompilerFlag: rely on common configuration, 2022-01-12, v3.23.0-rc1~124^2~1) that caused locale environment variables to not be restored after they are set during the check.
Diffstat (limited to 'Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake')
-rw-r--r--Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake9
1 files changed, 9 insertions, 0 deletions
diff --git a/Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake b/Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake
index 79d67e5..276158c 100644
--- a/Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake
+++ b/Tests/RunCMake/CheckCompilerFlag/CheckCCompilerFlag.cmake
@@ -4,6 +4,10 @@ include(CheckCompilerFlag)
set(C 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(C "-_this_is_not_a_flag_" SHOULD_FAIL)
if(SHOULD_FAIL)
message(SEND_ERROR "invalid C compile flag didn't fail.")
@@ -22,3 +26,8 @@ if(CMAKE_C_COMPILER_ID STREQUAL "GNU") # LCC C compiler silently ignore -frtti i
message(SEND_ERROR "${CMAKE_C_COMPILER_ID} compiler flag '-frtti' check passed but should have failed")
endif()
endif()
+
+if(NOT "$ENV{LC_ALL}" STREQUAL "BAD")
+ message(SEND_ERROR "ENV{LC_ALL} was not preserved by check_compiler_flag")
+endif()
+set(ENV{LC_ALL} ${_env_LC_ALL})