Tasking: Enable WHOLE_ARCHIVE link feature

Issue: #26426
This commit is contained in:
Josef Angstenberger
2025-02-05 00:09:35 +01:00
committed by Brad King
parent 5729d6a66d
commit 83ce71dd38

View File

@@ -33,6 +33,14 @@ macro(__compiler_tasking lang)
set(CMAKE_${lang}_COMPILE_OPTIONS_WARNING_AS_ERROR "--warnings-as-errors")
set(CMAKE_${lang}_LINK_MODE DRIVER)
# Features for LINK_LIBRARY generator expression
if( CMAKE_TASKING_TOOLSET STREQUAL "SmartCode"
OR (CMAKE_TASKING_TOOLSET STREQUAL "TriCore" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 4.2))
## WHOLE_ARCHIVE: Force loading all members of an archive
set(CMAKE_${lang}_LINK_LIBRARY_USING_WHOLE_ARCHIVE "LINKER:--whole-archive=<LINK_ITEM>")
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)
endif()
string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -O0 -g")