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)
|
include(tools/cmake/set_linker_script.cmake)
|
||||||
|
|
||||||
add_library(mbed-core INTERFACE)
|
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)
|
add_library(mbed-os INTERFACE)
|
||||||
|
|
||||||
|
@ -114,6 +121,14 @@ target_include_directories(mbed-core
|
||||||
# TODO CMake: Should the source files be moved?
|
# TODO CMake: Should the source files be moved?
|
||||||
add_library(mbed-device_key INTERFACE)
|
add_library(mbed-device_key INTERFACE)
|
||||||
add_library(mbed-rtos 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(cmsis)
|
||||||
add_subdirectory(drivers)
|
add_subdirectory(drivers)
|
||||||
|
|
|
@ -2,13 +2,20 @@
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
add_library(mbed-cmsis-cortex-a INTERFACE)
|
add_library(mbed-cmsis-cortex-a INTERFACE)
|
||||||
|
add_library(mbed-cmsis-cortex-a-obj OBJECT)
|
||||||
|
|
||||||
target_include_directories(mbed-cmsis-cortex-a
|
target_include_directories(mbed-cmsis-cortex-a
|
||||||
INTERFACE
|
INTERFACE
|
||||||
Include
|
Include
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-cmsis-cortex-a
|
target_sources(mbed-cmsis-cortex-a-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
Source/irq_ctrl_gic.c
|
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
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
add_library(mbed-cmsis-cortex-m INTERFACE)
|
add_library(mbed-cmsis-cortex-m INTERFACE)
|
||||||
|
add_library(mbed-cmsis-cortex-m-obj OBJECT)
|
||||||
|
|
||||||
target_include_directories(mbed-cmsis-cortex-m
|
target_include_directories(mbed-cmsis-cortex-m
|
||||||
INTERFACE
|
INTERFACE
|
||||||
Include
|
Include
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-cmsis-cortex-m
|
target_sources(mbed-cmsis-cortex-m-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
Source/mbed_tz_context.c
|
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
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
||||||
target_sources(mbed-rtos
|
target_sources(mbed-rtos-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
TOOLCHAIN_GCC_ARM/mbed_boot_gcc_arm.c
|
TOOLCHAIN_GCC_ARM/mbed_boot_gcc_arm.c
|
||||||
)
|
)
|
||||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
||||||
target_sources(mbed-rtos
|
target_sources(mbed-rtos-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c
|
TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
@ -18,8 +18,8 @@ target_include_directories(mbed-rtos
|
||||||
include
|
include
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-rtos
|
target_sources(mbed-rtos-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/mbed_boot.c
|
source/mbed_boot.c
|
||||||
source/mbed_rtos_rtx.c
|
source/mbed_rtos_rtx.c
|
||||||
source/mbed_rtx_handlers.c
|
source/mbed_rtx_handlers.c
|
||||||
|
@ -30,3 +30,5 @@ target_compile_definitions(mbed-rtos
|
||||||
INTERFACE
|
INTERFACE
|
||||||
MBED_CONF_RTOS_PRESENT=1
|
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
|
./mbed-client-libservice
|
||||||
)
|
)
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/libBits/common_functions.c
|
source/libBits/common_functions.c
|
||||||
source/libip6string/ip6tos.c
|
source/libip6string/ip6tos.c
|
||||||
)
|
)
|
||||||
|
|
|
@ -9,8 +9,8 @@ target_include_directories(mbed-core
|
||||||
./include/drivers/internal
|
./include/drivers/internal
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/AnalogIn.cpp
|
source/AnalogIn.cpp
|
||||||
source/AnalogOut.cpp
|
source/AnalogOut.cpp
|
||||||
source/BufferedSerial.cpp
|
source/BufferedSerial.cpp
|
||||||
|
|
|
@ -11,8 +11,8 @@ target_include_directories(mbed-core
|
||||||
include/hal
|
include/hal
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/LowPowerTickerWrapper.cpp
|
source/LowPowerTickerWrapper.cpp
|
||||||
source/mbed_compat.c
|
source/mbed_compat.c
|
||||||
source/mbed_critical_section_api.c
|
source/mbed_critical_section_api.c
|
||||||
|
|
|
@ -7,7 +7,7 @@ target_include_directories(mbed-core
|
||||||
include/usb
|
include/usb
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/mbed_usb_phy.cpp
|
source/mbed_usb_phy.cpp
|
||||||
)
|
)
|
||||||
|
|
|
@ -6,7 +6,7 @@ target_include_directories(mbed-core
|
||||||
.
|
.
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
mstd_mutex.cpp
|
mstd_mutex.cpp
|
||||||
)
|
)
|
||||||
|
|
|
@ -9,7 +9,7 @@ target_include_directories(mbed-core
|
||||||
include/mbed-trace
|
include/mbed-trace
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/mbed_trace.c
|
source/mbed_trace.c
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,8 +12,8 @@ target_include_directories(mbed-core
|
||||||
.
|
.
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
ATCmdParser.cpp
|
ATCmdParser.cpp
|
||||||
CThunkBase.cpp
|
CThunkBase.cpp
|
||||||
CriticalSectionLock.cpp
|
CriticalSectionLock.cpp
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
# SPDX-License-Identifier: Apache-2.0
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
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")
|
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()
|
endif()
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
mbed_fault_handler.c
|
mbed_fault_handler.c
|
||||||
)
|
)
|
||||||
|
|
|
@ -6,8 +6,8 @@ target_include_directories(mbed-core
|
||||||
.
|
.
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
mbed_printf_armlink_overrides.c
|
mbed_printf_armlink_overrides.c
|
||||||
mbed_printf_implementation.c
|
mbed_printf_implementation.c
|
||||||
mbed_printf_wrapper.c
|
mbed_printf_wrapper.c
|
||||||
|
|
|
@ -10,8 +10,8 @@ target_include_directories(mbed-core
|
||||||
./source
|
./source
|
||||||
)
|
)
|
||||||
|
|
||||||
target_sources(mbed-core
|
target_sources(mbed-core-obj
|
||||||
INTERFACE
|
PRIVATE
|
||||||
source/EventFlags.cpp
|
source/EventFlags.cpp
|
||||||
source/Kernel.cpp
|
source/Kernel.cpp
|
||||||
source/Mutex.cpp
|
source/Mutex.cpp
|
||||||
|
|
Loading…
Reference in New Issue