From a4b3a217d611c46731b42cabda55e8d7cd8932b4 Mon Sep 17 00:00:00 2001 From: Danny Robson Date: Tue, 20 Oct 2020 11:53:34 +1000 Subject: [PATCH] cxx: try to enable gold and lld for gcc and clang --- nc_cxx.cmake | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/nc_cxx.cmake b/nc_cxx.cmake index a11c45a..b926c72 100644 --- a/nc_cxx.cmake +++ b/nc_cxx.cmake @@ -29,10 +29,15 @@ append_compile_flag ("-std=c++2a") append_compile_flag ("-fpermissive") append_compile_flag ("/std:c++latest") -# try to use clangs libc++ under the assumption that gcc will fail this test -# and clang will pass (if it is present). this is necessary because some -# libstdc++ headers don't behave well under c++17/clang. -append_compile_flag ("-stdlib=libc++") + +if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + append_compile_flag ("-stdlib=libc++") + append_link_flag ("-fuse-ld=lld") +endif () + +if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + append_link_flag ("-fuse-ld=gold") +endif () ############################################################################### # find the gcc or clang filesystem library and append to libs if needed