diff --git a/CMakeLists.txt b/CMakeLists.txt index 712f0fa1969..55fdb73efe7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,7 +95,7 @@ if(HAS_W_PSABI) endif() set(MIR_USE_LD ld CACHE STRING "Linker to use") -set_property(CACHE MIR_USE_LD PROPERTY STRINGS "ld;gold;lld") +set_property(CACHE MIR_USE_LD PROPERTY STRINGS "ld;gold;lld;mold") if(MIR_USE_LD MATCHES "gold") set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold") set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=gold") @@ -106,6 +106,11 @@ if(MIR_USE_LD MATCHES "lld") set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=lld") set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld") endif() +if(MIR_USE_LD MATCHES "mold") + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=mold") + set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -fuse-ld=mold") + set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=mold") +endif() # Link time optimization allows leaner, cleaner libraries option(MIR_LINK_TIME_OPTIMIZATION "Enables the linker to optimize binaries." OFF)