# Distributed under the OSI-approved BSD 3-Clause License. See accompanying # file Copyright.txt or https://cmake.org/licensing for details. # This module is shared by multiple languages; use include blocker. if(__LINUX_COMPILER_GNU) return() endif() set(__LINUX_COMPILER_GNU 1) macro(__linux_compiler_gnu lang) # We pass this for historical reasons. Projects may have # executables that use dlopen but do not set ENABLE_EXPORTS. set(CMAKE_SHARED_LIBRARY_LINK_${lang}_FLAGS "-rdynamic") set(CMAKE_${lang}_VERBOSE_LINK_FLAG "-Wl,-v") # linker selection set(CMAKE_${lang}_USING_LINKER_SYSTEM "") set(CMAKE_${lang}_USING_LINKER_LLD "-fuse-ld=lld") set(CMAKE_${lang}_USING_LINKER_BFD "-fuse-ld=bfd") set(CMAKE_${lang}_USING_LINKER_GOLD "-fuse-ld=gold") if(NOT CMAKE_${lang}_COMPILER_ID STREQUAL "GNU" OR CMAKE_${lang}_COMPILER_VERSION VERSION_GREATER_EQUAL "12.1") set(CMAKE_${lang}_USING_LINKER_MOLD "-fuse-ld=mold") endif() endmacro()