From 70c955a97543ecf61529b6971de04433a8bc533e Mon Sep 17 00:00:00 2001 From: Simon Praetorius Date: Fri, 6 Dec 2019 00:17:03 +0100 Subject: [PATCH] Optimize compile builds using ccache and gold linker --- cmake/modules/AmdisMacros.cmake | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/cmake/modules/AmdisMacros.cmake b/cmake/modules/AmdisMacros.cmake index 0d080888..8ae3c82b 100644 --- a/cmake/modules/AmdisMacros.cmake +++ b/cmake/modules/AmdisMacros.cmake @@ -1,6 +1,21 @@ include(AmdisCXXFeatures) include(AddAmdisExecutable) +# some optimization of the compile times +find_program(CCACHE_PROGRAM ccache) +if (CCACHE_PROGRAM) + set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}") +endif () + +if (UNIX AND NOT APPLE) + execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version) + if ("${ld_version}" MATCHES "GNU gold") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold -Wl,--disable-new-dtags") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold -Wl,--disable-new-dtags") + endif() +endif() + + if (NOT BACKEND) set(BACKEND "ISTL" CACHE STRING "LinearAlgebra backend. One of MTL, EIGEN, PETSC, ISTL") set_property(CACHE BACKEND PROPERTY STRINGS "MTL" "EIGEN" "ISTL" "PETSC") -- GitLab