[llvm] 9b94a67 - [CMake] Save and restore CMAKE_EXE_LINKER_FLAGS manually

Petr Hosek via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 1 10:05:15 PST 2023


Author: Petr Hosek
Date: 2023-02-01T18:05:01Z
New Revision: 9b94a67f8232cfb48b6d00fd217792d323f09c6f

URL: https://github.com/llvm/llvm-project/commit/9b94a67f8232cfb48b6d00fd217792d323f09c6f
DIFF: https://github.com/llvm/llvm-project/commit/9b94a67f8232cfb48b6d00fd217792d323f09c6f.diff

LOG: [CMake] Save and restore CMAKE_EXE_LINKER_FLAGS manually

cmake_push_check_state and cmake_pop_check_state doesn't save and
restore CMAKE_EXE_LINKER_FLAGS so we need to do it manually.

Differential Revision: https://reviews.llvm.org/D143088

Added: 
    

Modified: 
    llvm/cmake/modules/LLVMCheckLinkerFlag.cmake

Removed: 
    


################################################################################
diff  --git a/llvm/cmake/modules/LLVMCheckLinkerFlag.cmake b/llvm/cmake/modules/LLVMCheckLinkerFlag.cmake
index cea6a7f42c841..e09bbc66f2d26 100644
--- a/llvm/cmake/modules/LLVMCheckLinkerFlag.cmake
+++ b/llvm/cmake/modules/LLVMCheckLinkerFlag.cmake
@@ -8,13 +8,12 @@ else()
   # Until the minimum CMAKE version is 3.18
 
   include(CheckCXXCompilerFlag)
-  include(CMakePushCheckState)
 
   # cmake builtin compatible, except we assume lang is C or CXX
   function(llvm_check_linker_flag lang flag out_var)
     cmake_policy(PUSH)
     cmake_policy(SET CMP0056 NEW)
-    cmake_push_check_state()
+    set(_CMAKE_EXE_LINKER_FLAGS_SAVE ${CMAKE_EXE_LINKER_FLAGS})
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${flag}")
     if("${lang}" STREQUAL "C")
       check_c_compiler_flag("" ${out_var})
@@ -23,7 +22,7 @@ else()
     else()
       message(FATAL_ERROR "\"${lang}\" is not C or CXX")
     endif()
-    cmake_pop_check_state()
+    set(CMAKE_EXE_LINKER_FLAGS ${_CMAKE_EXE_LINKER_FLAGS_SAVE})
     cmake_policy(POP)
   endfunction()
 endif()


        


More information about the llvm-commits mailing list