Merge topic 'tasking-output-ext-small-enh' into release-4.0

83ce71dd38 Tasking: Enable WHOLE_ARCHIVE link feature
5729d6a66d Tasking: Detect ARM architecture for C++
1241c7dbcf Tasking: Set response file flag
754210a3f6 Tasking: Set object extension to .o

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10298
This commit is contained in:
Brad King 2025-02-07 13:25:28 +00:00 committed by Kitware Robot
commit 4c50496a11
2 changed files with 11 additions and 1 deletions

View File

@ -258,7 +258,7 @@
# elif defined(__CMCS__)
# define ARCHITECTURE_ID "MCS"
# elif defined(__CARM__)
# elif defined(__CARM__) || defined(__CPARM__)
# define ARCHITECTURE_ID "ARM"
# elif defined(__CARC__)

View File

@ -22,15 +22,25 @@ if(NOT CMAKE_TASKING_TOOLSET)
endif()
macro(__compiler_tasking lang)
set(CMAKE_${lang}_OUTPUT_EXTENSION ".o")
set(CMAKE_${lang}_VERBOSE_FLAG "-v")
set(CMAKE_${lang}_COMPILE_OPTIONS_PIC "--pic")
set(CMAKE_${lang}_LINKER_WRAPPER_FLAG "-Wl" " ")
set(CMAKE_${lang}_RESPONSE_FILE_FLAG "-f ")
set(CMAKE_${lang}_RESPONSE_FILE_LINK_FLAG "-f ")
set(CMAKE_DEPFILE_FLAGS_${lang} "--dep-file=<DEP_FILE>")
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")