From ce3972f0b4d832224d4512f8fe02e9b7763b2a5e Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Tue, 12 Dec 2023 17:02:33 +0100 Subject: [PATCH] build: use mold for linking when available --- CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 02d62159..18ae5a70 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,7 @@ else() option(PREFER_SYSTEM_XXHASH "use system xxHash if available" OFF) option(PREFER_SYSTEM_GTEST "use system gtest if available" OFF) option(DISABLE_CCACHE "disable ccache" OFF) + option(DISABLE_MOLD "disable mold" OFF) option(STATIC_BUILD_DO_NOT_USE "try static build (experimental)" OFF) endif() @@ -71,6 +72,15 @@ if(DEFINED ENV{CCACHE_PREFIX}) add_compile_options(-Wno-gnu-line-marker) endif() +if(NOT WIN32) + if(NOT DISABLE_MOLD) + find_program(MOLD_EXE mold) + if(MOLD_EXE) + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=${MOLD_EXE}") + endif() + endif() +endif() + set(default_build_type "Release") set(CMAKE_CXX_STANDARD 20)