# 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. include_guard() block(SCOPE_FOR POLICIES) cmake_policy(SET CMP0054 NEW) macro(__sunos_linker_solaris lang) set(CMAKE_${lang}_PLATFORM_LINKER_ID Solaris) # Features for LINK_LIBRARY generator expression ## WHOLE_ARCHIVE: Force loading all members of an archive if (CMAKE_SYSTEM_VERSION VERSION_GREATER "5.10") set(CMAKE_${lang}_LINK_LIBRARY_USING_WHOLE_ARCHIVE "LINKER:--whole-archive" "" "LINKER:--no-whole-archive") else() set(CMAKE_${lang}_LINK_LIBRARY_USING_WHOLE_ARCHIVE "LINKER:-z,allextract" "" "LINKER:-z,defaultextract") endif() set(CMAKE_${lang}_LINK_LIBRARY_USING_WHOLE_ARCHIVE_SUPPORTED TRUE) set(CMAKE_${lang}_LINK_LIBRARY_WHOLE_ARCHIVE_ATTRIBUTES LIBRARY_TYPE=STATIC DEDUPLICATION=YES OVERRIDE=DEFAULT) endmacro() endblock()