Confused by OBJECT library

My project was compile each subfolder cmake project to an STATIC library, but in this way gcc may strip some codes while compile or link, if later other things dependens on that library, symbol could not be found

After some research, I found object library, but the document is very confusing.
As document steted, object library may only contain objs and then add as source or target link library with $<TARGET_OBJECTS:${name}_obj>.

And the document also stated, we could create an interface library that depends on the object library, then downstream elf/exe depends on that interface library will inherret all object files, public includes, public compile flags, etc.

However, it seems this is not the case, the interface library gets nothing from object library other than INTERFACE_LINK_LIBRARIES that I specified.

I’m using cmake 3.28 on ubuntu, and following are my example project.

module_common.cmake

macro(module_print_declare name path src_list inc_list)
  message(STATUS "============ Module Declare ============")
  message(STATUS "Name: ${name}")
  message(STATUS "Obj Lib: ${name}_obj")
  message(STATUS "Intf Lib: ${name}_intf")
  message(STATUS "Path: ${path}")
  message(STATUS "Source:")
  foreach(item ${src_list})
    message(STATUS "\t${item}")
  endforeach()
  message(STATUS "Include:")
  foreach(item ${inc_list})
    message(STATUS "\t${item}")
  endforeach()
  message(STATUS "----------------------------------------")
endmacro()

macro(module_print_properties name)
  message(STATUS "============ Module Properties ============")
  cmake_print_properties(
    TARGETS ${name}
    PROPERTIES
    NAME
    SOURCE_DIR
    BINARY_DIR
    SOURCES
    INCLUDE_DIRECTORIES
    INTERFACE_COMPILE_DEFINITIONS
    INTERFACE_COMPILE_OPTIONS
    INTERFACE_INCLUDE_DIRECTORIES
    INTERFACE_LINK_DEPENDS
    INTERFACE_LINK_DIRECTORIES
    INTERFACE_LINK_LIBRARIES
    INTERFACE_LINK_OPTIONS
    OBJECT_DEPENDS
    OBJECT_OUTPUTS
  )
  message(STATUS "-------------------------------------------")
endmacro()

###############################
# module_lib_add
macro(module_lib_add name srcs incs)

  # to standard name
  set(${name}_sources ${srcs})
  set(${name}_includes ${incs})

  # static version
  # add_library(
  #   # target name
  #   ${name}
  #   # options
  #   STATIC
  #   # sources
  #   ${srcs}
  # )
  # target_include_directories(
  #   ${name}
  #   PUBLIC
  #   ${incs}
  # )

  ##################
  # object lib
  add_library(
    # target name
    ${name}_obj
    # options
    OBJECT
    # sources
    ${srcs}
  )
  target_include_directories(
    ${name}_obj
    PUBLIC
    ${incs}
  )

  ##################
  # interface lib
  add_library(
    # target name
    ${name}_intf
    # options
    INTERFACE
  )
  # target_include_directories(
  #   ${name}_intf
  #   INTERFACE
  #   ${name}_obj
  #   ${incs}
  # )
  # target_sources(
  #   ${name}_intf
  #   INTERFACE
  # )
  target_link_libraries(
    ${name}_intf
    INTERFACE
    ${name}_obj
    $<TARGET_OBJECTS:${name}_obj>
  )
  file(GENERATE OUTPUT lib_${name}_objs.txt CONTENT $<TARGET_OBJECTS:${name}_obj>)

  module_print_declare(${name} ${CMAKE_CURRENT_LIST_DIR} "${${name}_sources}" "${${name}_includes}")
  module_var_clear()
  module_print_properties(${name}_obj)
  module_print_properties(${name}_intf)
endmacro()

stm32_drivers/CMakeLists.txt

# includes
include("${TOP_DIR}/cmake/module_common.cmake")

module_name_generate() # provide MODULE_NAME

set(STM32CubePack_DIR "${CMAKE_CURRENT_LIST_DIR}/STM32CubeH7")

###############################
# includes
module_glob_include(
    # name / prefix
    "${MODULE_NAME}"
    # path
    "${STM32CubePack_DIR}/Drivers/CMSIS/Core"
    # relative
    "${CMAKE_CURRENT_LIST_DIR}"
)
module_glob_include(
    # name / prefix
    "${MODULE_NAME}"
    # path
    "${STM32CubePack_DIR}/Drivers/CMSIS/RTOS2/"
    # relative
    "${CMAKE_CURRENT_LIST_DIR}"
)
module_glob_include(
    # name / prefix
    "${MODULE_NAME}"
    # path
    "${STM32CubePack_DIR}/Drivers/CMSIS/Device/"
    # relative
    "${CMAKE_CURRENT_LIST_DIR}"
)
module_glob_include(
    # name / prefix
    "${MODULE_NAME}"
    # path
    "${STM32CubePack_DIR}/Drivers/CMSIS/Include"
    # relative
    "${CMAKE_CURRENT_LIST_DIR}"
)
module_glob_include(
    # name / prefix
    "${MODULE_NAME}"
    # path
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver"
    # relative
    "${CMAKE_CURRENT_LIST_DIR}"
)

list(APPEND ${MODULE_NAME}_includes
    "${CMAKE_CURRENT_LIST_DIR}/port"
)

###############################
# sources
file(GLOB ${MODULE_NAME}_sources
    RELATIVE ${CMAKE_CURRENT_LIST_DIR}
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dsi.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart_ex.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c"
    "${STM32CubePack_DIR}/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c"

    # RTOS2 sources
    "${STM32CubePack_DIR}/Drivers/CMSIS/RTOS2/Source/os_systick.c"

    # port sources
    "${CMAKE_CURRENT_LIST_DIR}/port/*.c"
    "${CMAKE_CURRENT_LIST_DIR}/port/*.s"
)

###############################
# object
module_lib_add(
    ${MODULE_NAME}
    "${${MODULE_NAME}_sources}"
    "${${MODULE_NAME}_includes}"
)

target_compile_definitions(
    ${MODULE_OBJLIB}
    PRIVATE

    # RTOS2 defines
    "CMSIS_device_header=<stm32h7xx.h>"
)

cmake log

[main] Configuring project: firmware_refactor 
[proc] Executing command: /usr/bin/cmake -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_INSTALL_PREFIX:STRING=/home/user/Desktop/firmware_cmake_refactor/.install -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_C_COMPILER:FILEPATH=/usr/bin/arm-none-eabi-gcc -DCMAKE_CXX_COMPILER:FILEPATH=/usr/bin/arm-none-eabi-g++ --no-warn-unused-cli -S /home/user/Desktop/firmware_cmake_refactor -B /home/user/Desktop/firmware_cmake_refactor/.build -G Ninja
[cmake] Not searching for unused variables given on the command line.
[cmake] -- ============ Module Declare ============
[cmake] -- Name: stm32_drivers
[cmake] -- Obj Lib: stm32_drivers_obj
[cmake] -- Intf Lib: stm32_drivers_intf
[cmake] -- Path: /home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers
[cmake] -- Source:
[cmake] -- 	STM32CubeH7/Drivers/CMSIS/RTOS2/Source/os_systick.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dsi.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart_ex.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c
[cmake] -- 	port/startup_stm32h747xx.s
[cmake] -- 	port/system_stm32h7xx_dualcore_bootcm7_cm4gated.c
[cmake] -- Include:
[cmake] -- 	STM32CubeH7/Drivers/CMSIS/Core/Include
[cmake] -- 	STM32CubeH7/Drivers/CMSIS/Device/ST/STM32H7xx/Include
[cmake] -- 	STM32CubeH7/Drivers/CMSIS/Include
[cmake] -- 	STM32CubeH7/Drivers/CMSIS/RTOS2/Include
[cmake] -- 	STM32CubeH7/Drivers/CMSIS/RTOS2/Template
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Inc
[cmake] -- 	STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy
[cmake] -- 	/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/port
[cmake] -- ----------------------------------------
[cmake] -- ============ Module Properties ============
[cmake] -- 
[cmake]  Properties for TARGET stm32_drivers_obj:
[cmake]    stm32_drivers_obj.NAME = "stm32_drivers_obj"
[cmake]    stm32_drivers_obj.SOURCE_DIR = "/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers"
[cmake]    stm32_drivers_obj.BINARY_DIR = "/home/user/Desktop/firmware_cmake_refactor/.build/hal/stm32_drivers"
[cmake]    stm32_drivers_obj.SOURCES = "STM32CubeH7/Drivers/CMSIS/RTOS2/Source/os_systick.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dcmi.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma2d.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dsi.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_jpeg.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_lptim.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ltdc_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mdma.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_mmc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sdram.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sram.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_usart_ex.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_wwdg.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_delayblock.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c;STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c;port/startup_stm32h747xx.s;port/system_stm32h7xx_dualcore_bootcm7_cm4gated.c"
[cmake]    stm32_drivers_obj.INCLUDE_DIRECTORIES = "/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/Core/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/Device/ST/STM32H7xx/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/RTOS2/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/RTOS2/Template;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Inc;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/port"
[cmake]    stm32_drivers_obj.INTERFACE_COMPILE_DEFINITIONS = <NOTFOUND>
[cmake]    stm32_drivers_obj.INTERFACE_COMPILE_OPTIONS = <NOTFOUND>
[cmake]    stm32_drivers_obj.INTERFACE_INCLUDE_DIRECTORIES = "/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/Core/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/Device/ST/STM32H7xx/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/RTOS2/Include;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/CMSIS/RTOS2/Template;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Inc;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/STM32CubeH7/Drivers/STM32H7xx_HAL_Driver/Inc/Legacy;/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers/port"
[cmake]    stm32_drivers_obj.INTERFACE_LINK_DEPENDS = <NOTFOUND>
[cmake]    stm32_drivers_obj.INTERFACE_LINK_DIRECTORIES = <NOTFOUND>
[cmake]    stm32_drivers_obj.INTERFACE_LINK_LIBRARIES = "m;gcc"
[cmake]    stm32_drivers_obj.INTERFACE_LINK_OPTIONS = <NOTFOUND>
[cmake]    stm32_drivers_obj.OBJECT_DEPENDS = <NOTFOUND>
[cmake]    stm32_drivers_obj.OBJECT_OUTPUTS = <NOTFOUND>
[cmake] 
[cmake] -- -------------------------------------------
[cmake] -- ============ Module Properties ============
[cmake] -- 
[cmake]  Properties for TARGET stm32_drivers_intf:
[cmake]    stm32_drivers_intf.NAME = "stm32_drivers_intf"
[cmake]    stm32_drivers_intf.SOURCE_DIR = "/home/user/Desktop/firmware_cmake_refactor/hal/stm32_drivers"
[cmake]    stm32_drivers_intf.BINARY_DIR = "/home/user/Desktop/firmware_cmake_refactor/.build/hal/stm32_drivers"
[cmake]    stm32_drivers_intf.SOURCES = <NOTFOUND>
[cmake]    stm32_drivers_intf.INCLUDE_DIRECTORIES = <NOTFOUND>
[cmake]    stm32_drivers_intf.INTERFACE_COMPILE_DEFINITIONS = <NOTFOUND>
[cmake]    stm32_drivers_intf.INTERFACE_COMPILE_OPTIONS = <NOTFOUND>
[cmake]    stm32_drivers_intf.INTERFACE_INCLUDE_DIRECTORIES = <NOTFOUND>
[cmake]    stm32_drivers_intf.INTERFACE_LINK_DEPENDS = <NOTFOUND>
[cmake]    stm32_drivers_intf.INTERFACE_LINK_DIRECTORIES = <NOTFOUND>
[cmake]    stm32_drivers_intf.INTERFACE_LINK_LIBRARIES = "stm32_drivers_obj;$<TARGET_OBJECTS:stm32_drivers_obj>"
[cmake]    stm32_drivers_intf.INTERFACE_LINK_OPTIONS = <NOTFOUND>
[cmake]    stm32_drivers_intf.OBJECT_DEPENDS = <NOTFOUND>
[cmake]    stm32_drivers_intf.OBJECT_OUTPUTS = <NOTFOUND>
[cmake] 
[cmake] -- -------------------------------------------
[cmake] -- Configuring done (0.0s)
[cmake] -- Generating done (0.0s)
[cmake] -- Build files have been written to: /home/user/Desktop/firmware_cmake_refactor/.build

The properties of the target do not change, only INTERFACE_LINK_LIBRARIES gets recorded. INTERFACE_LINK_LIBRARIES is like a collection of pointers. When CMake is building the target, it will use the properties of the base target, and all the INTERFACE properties of targets which appear in INTERFACE_LINK_LIBRARIES. This complete collection of properties is what CMake will eventually use.

Again, the properties of the base target don’t change, but CMake uses a whole collection of properties, not just those on the base target.

Rather than messing with objects libraries, this is the actual problem we should be trying to solve here. ar doesn’t “strip” anything from the objects placed in an archive. Please expand on what you’re trying to do and exactly what errors you saw.