mirror of https://github.com/ARMmbed/mbed-os.git
CMake: turn mbed-core into interface + obj libraries
parent
68fb11e912
commit
494d0c0711
|
@ -9,6 +9,13 @@ include(${MBED_CONFIG_PATH}/mbed_config.cmake)
|
|||
include(tools/cmake/set_linker_script.cmake)
|
||||
|
||||
add_library(mbed-core INTERFACE)
|
||||
add_library(mbed-core-obj OBJECT)
|
||||
|
||||
set_property(TARGET mbed-core PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-core-obj>)
|
||||
|
||||
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
|
||||
set_target_properties(mbed-core-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-core,INTERFACE_${options}>)
|
||||
endforeach()
|
||||
|
||||
add_library(mbed-os INTERFACE)
|
||||
|
||||
|
@ -114,6 +121,14 @@ target_include_directories(mbed-core
|
|||
# TODO CMake: Should the source files be moved?
|
||||
add_library(mbed-device_key INTERFACE)
|
||||
add_library(mbed-rtos INTERFACE)
|
||||
add_library(mbed-rtos-obj OBJECT)
|
||||
|
||||
|
||||
set_property(TARGET mbed-rtos PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-rtos-obj>)
|
||||
|
||||
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
|
||||
set_target_properties(mbed-rtos-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-rtos,INTERFACE_${options}>)
|
||||
endforeach()
|
||||
|
||||
add_subdirectory(cmsis)
|
||||
add_subdirectory(drivers)
|
||||
|
|
|
@ -2,13 +2,20 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
add_library(mbed-cmsis-cortex-a INTERFACE)
|
||||
add_library(mbed-cmsis-cortex-a-obj OBJECT)
|
||||
|
||||
target_include_directories(mbed-cmsis-cortex-a
|
||||
INTERFACE
|
||||
Include
|
||||
)
|
||||
|
||||
target_sources(mbed-cmsis-cortex-a
|
||||
INTERFACE
|
||||
target_sources(mbed-cmsis-cortex-a-obj
|
||||
PRIVATE
|
||||
Source/irq_ctrl_gic.c
|
||||
)
|
||||
|
||||
set_property(TARGET mbed-cmsis-cortex-a PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-cmsis-cortex-a-obj>)
|
||||
|
||||
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
|
||||
set_target_properties(mbed-cmsis-cortex-a-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-cmsis-cortex-a,INTERFACE_${options}>)
|
||||
endforeach()
|
||||
|
|
|
@ -2,13 +2,20 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
add_library(mbed-cmsis-cortex-m INTERFACE)
|
||||
add_library(mbed-cmsis-cortex-m-obj OBJECT)
|
||||
|
||||
target_include_directories(mbed-cmsis-cortex-m
|
||||
INTERFACE
|
||||
Include
|
||||
)
|
||||
|
||||
target_sources(mbed-cmsis-cortex-m
|
||||
INTERFACE
|
||||
target_sources(mbed-cmsis-cortex-m-obj
|
||||
PRIVATE
|
||||
Source/mbed_tz_context.c
|
||||
)
|
||||
|
||||
set_property(TARGET mbed-cmsis-cortex-m PROPERTY INTERFACE_SOURCES $<TARGET_OBJECTS:mbed-cmsis-cortex-m-obj>)
|
||||
|
||||
foreach(options COMPILE_DEFINITIONS COMPILE_FEATURES COMPILE_OPTIONS INCLUDE_DIRECTORIES LINK_LIBRARIES)
|
||||
set_target_properties(mbed-cmsis-cortex-m-obj PROPERTIES ${options} $<TARGET_PROPERTY:mbed-cmsis-cortex-m,INTERFACE_${options}>)
|
||||
endforeach()
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
||||
target_sources(mbed-rtos
|
||||
INTERFACE
|
||||
target_sources(mbed-rtos-obj
|
||||
PRIVATE
|
||||
TOOLCHAIN_GCC_ARM/mbed_boot_gcc_arm.c
|
||||
)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
||||
target_sources(mbed-rtos
|
||||
INTERFACE
|
||||
target_sources(mbed-rtos-obj
|
||||
PRIVATE
|
||||
TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c
|
||||
)
|
||||
endif()
|
||||
|
@ -18,8 +18,8 @@ target_include_directories(mbed-rtos
|
|||
include
|
||||
)
|
||||
|
||||
target_sources(mbed-rtos
|
||||
INTERFACE
|
||||
target_sources(mbed-rtos-obj
|
||||
PRIVATE
|
||||
source/mbed_boot.c
|
||||
source/mbed_rtos_rtx.c
|
||||
source/mbed_rtx_handlers.c
|
||||
|
@ -30,3 +30,5 @@ target_compile_definitions(mbed-rtos
|
|||
INTERFACE
|
||||
MBED_CONF_RTOS_PRESENT=1
|
||||
)
|
||||
|
||||
target_link_libraries(mbed-rtos INTERFACE mbed-core)
|
||||
|
|
|
@ -31,8 +31,8 @@ target_include_directories(mbed-core
|
|||
.
|
||||
./mbed-client-libservice
|
||||
)
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
source/libBits/common_functions.c
|
||||
source/libip6string/ip6tos.c
|
||||
)
|
||||
|
|
|
@ -9,8 +9,8 @@ target_include_directories(mbed-core
|
|||
./include/drivers/internal
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
source/AnalogIn.cpp
|
||||
source/AnalogOut.cpp
|
||||
source/BufferedSerial.cpp
|
||||
|
|
|
@ -11,8 +11,8 @@ target_include_directories(mbed-core
|
|||
include/hal
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
source/LowPowerTickerWrapper.cpp
|
||||
source/mbed_compat.c
|
||||
source/mbed_critical_section_api.c
|
||||
|
|
|
@ -7,7 +7,7 @@ target_include_directories(mbed-core
|
|||
include/usb
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
source/mbed_usb_phy.cpp
|
||||
)
|
||||
|
|
|
@ -6,7 +6,7 @@ target_include_directories(mbed-core
|
|||
.
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
mstd_mutex.cpp
|
||||
)
|
||||
|
|
|
@ -9,7 +9,7 @@ target_include_directories(mbed-core
|
|||
include/mbed-trace
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
source/mbed_trace.c
|
||||
)
|
||||
|
|
|
@ -12,8 +12,8 @@ target_include_directories(mbed-core
|
|||
.
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
ATCmdParser.cpp
|
||||
CThunkBase.cpp
|
||||
CriticalSectionLock.cpp
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
||||
target_sources(mbed-core INTERFACE TOOLCHAIN_GCC/except.S)
|
||||
target_sources(mbed-core-obj PRIVATE TOOLCHAIN_GCC/except.S)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
||||
target_sources(mbed-core INTERFACE TOOLCHAIN_ARM/except.S)
|
||||
target_sources(mbed-core-obj PRIVATE TOOLCHAIN_ARM/except.S)
|
||||
endif()
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
mbed_fault_handler.c
|
||||
)
|
||||
|
|
|
@ -6,8 +6,8 @@ target_include_directories(mbed-core
|
|||
.
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
mbed_printf_armlink_overrides.c
|
||||
mbed_printf_implementation.c
|
||||
mbed_printf_wrapper.c
|
||||
|
|
|
@ -10,8 +10,8 @@ target_include_directories(mbed-core
|
|||
./source
|
||||
)
|
||||
|
||||
target_sources(mbed-core
|
||||
INTERFACE
|
||||
target_sources(mbed-core-obj
|
||||
PRIVATE
|
||||
source/EventFlags.cpp
|
||||
source/Kernel.cpp
|
||||
source/Mutex.cpp
|
||||
|
|
Loading…
Reference in New Issue