Maxim: turn max32630 into interface + object libraries

pull/14427/head
Martin Kojtal 2021-02-22 20:54:02 +00:00
parent 07d702b8f9
commit 192858e6d0
3 changed files with 28 additions and 6 deletions

View File

@ -7,15 +7,23 @@ add_subdirectory(TARGET_MAX32625 EXCLUDE_FROM_ALL)
add_subdirectory(TARGET_MAX32630 EXCLUDE_FROM_ALL)
add_library(mbed-maxim INTERFACE)
add_library(mbed-maxim-obj OBJECT)
target_include_directories(mbed-maxim
INTERFACE
.
)
target_sources(mbed-maxim
INTERFACE
target_sources(mbed-maxim-obj
PRIVATE
USBPhy_Maxim.cpp
)
set_property(TARGET mbed-maxim PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-maxim-obj>)
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
set_target_properties(mbed-maxim-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-maxim,INTERFACE_${options}>)
endforeach()
target_link_libraries(mbed-maxim INTERFACE mbed-cmsis-cortex-m)

View File

@ -18,6 +18,7 @@ elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
endif()
add_library(mbed-max32630 INTERFACE)
add_library(mbed-max32630-obj OBJECT)
mbed_set_linker_script(mbed-max32630 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
@ -28,8 +29,8 @@ target_include_directories(mbed-max32630
mxc
)
target_sources(mbed-max32630
INTERFACE
target_sources(mbed-max32630-obj
PRIVATE
PeripheralPins.c
analogin_api.c
gpio_api.c
@ -77,6 +78,12 @@ target_sources(mbed-max32630
${STARTUP_FILE}
)
set_property(TARGET mbed-max32630 PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-max32630-obj>)
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
set_target_properties(mbed-max32630-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-max32630,INTERFACE_${options}>)
endforeach()
target_link_libraries(mbed-max32630
INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/${LIB_EXACT_LE}

View File

@ -2,15 +2,22 @@
# SPDX-License-Identifier: Apache-2.0
add_library(mbed-max32630fthr INTERFACE)
add_library(mbed-max32630fthr-obj OBJECT)
target_include_directories(mbed-max32630fthr
INTERFACE
.
)
target_sources(mbed-max32630fthr
INTERFACE
target_sources(mbed-max32630fthr-obj
PRIVATE
low_level_init.c
)
set_property(TARGET mbed-max32630fthr PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-max32630fthr-obj>)
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
set_target_properties(mbed-max32630fthr-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-max32630fthr,INTERFACE_${options}>)
endforeach()
target_link_libraries(mbed-max32630fthr INTERFACE mbed-max32630)