blob: e77009ef91fa96fe3ef7cc3866ea865b2f7cc5dc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
if(ENABLE_LLD)
execute_process(COMMAND ${CMAKE_CXX_COMPILER} -fuse-ld=lld -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION)
if(LD_VERSION MATCHES "LLD")
include(FindPackageHandleStandardArgs)
find_program(LLD_EXECUTABLE lld)
find_package_handle_standard_args(LLD REQUIRED_VARS LLD_EXECUTABLE)
if(LLD_FOUND)
set(CMAKE_LINKER ${LLD_EXECUTABLE})
set(CMAKE_CXX_LINK_FLAGS -fuse-ld=lld)
set(CMAKE_C_LINK_FLAGS -fuse-ld=lld)
set(CMAKE_EXE_LINKER_FLAGS "${LD_FLAGS} -fuse-ld=lld")
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}")
message(STATUS "Linker: LLVM lld")
endif()
mark_as_advanced(LLD_EXECUTABLE CMAKE_LINKER)
else()
message(FATAL_ERROR "LLVM lld linker not found")
endif()
endif()
|