[CMake] Fix linker detection in AddLLVM.cmake

Fix linker not being correctly detected when a custom one is specified
through LLVM_USE_LINKER CMake variable.

In particular,

  cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_USE_LINKER=gold ../llvm

resulted into

  Linker detection: GNU ld

instead of

  Linker detection: GNU Gold

due to the construction not accounting for such variable. It led to the general
confusion and prevented setting linker-specific flags inside functions defined
in AddLLVM.cmake.

Thanks Oleksii Vilchanskyi for the patch!

llvm-svn: 316956
This commit is contained in:
Tim Shen 2017-10-30 21:12:14 +00:00
parent 9f01f6093c
commit 5a166048f0
1 changed files with 6 additions and 1 deletions

View File

@ -149,8 +149,13 @@ endfunction(add_llvm_symbol_exports)
if(NOT WIN32 AND NOT APPLE)
# Detect what linker we have here
if( LLVM_USE_LINKER )
set(command ${CMAKE_C_COMPILER} -fuse-ld=${LLVM_USE_LINKER} -Wl,--version)
else()
set(command ${CMAKE_C_COMPILER} -Wl,--version)
endif()
execute_process(
COMMAND ${CMAKE_C_COMPILER} -Wl,--version
COMMAND ${command}
OUTPUT_VARIABLE stdout
ERROR_VARIABLE stderr
)