diff --git a/targets/TARGET_ARM_FM/CMakeLists.txt b/targets/TARGET_ARM_FM/CMakeLists.txt index 2fb8fab24a..2743e280d9 100644 --- a/targets/TARGET_ARM_FM/CMakeLists.txt +++ b/targets/TARGET_ARM_FM/CMakeLists.txt @@ -1,11 +1,11 @@ # Copyright (c) 2020 ARM Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -if("FVP_MPS2" IN_LIST MBED_TARGET_LABELS) - add_subdirectory(TARGET_FVP_MPS2) -endif() +add_library(mbed-arm-fm INTERFACE) -target_include_directories(mbed-core +add_subdirectory(TARGET_FVP_MPS2 EXCLUDE_FROM_ALL) + +target_include_directories(mbed-arm-fm INTERFACE . ) diff --git a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/CMakeLists.txt b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/CMakeLists.txt index 4c4bc20bc9..8ab00f535c 100644 --- a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/CMakeLists.txt +++ b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/CMakeLists.txt @@ -1,93 +1,22 @@ # Copyright (c) 2020 ARM Limited. All rights reserved. # SPDX-License-Identifier: Apache-2.0 -if("FVP_MPS2_M0" IN_LIST MBED_TARGET_LABELS) - target_include_directories(mbed-core - INTERFACE - TARGET_FVP_MPS2_M0/device - ) +add_subdirectory(TARGET_FVP_MPS2_M0 EXCLUDE_FROM_ALL) +add_subdirectory(TARGET_FVP_MPS2_M0P EXCLUDE_FROM_ALL) +add_subdirectory(TARGET_FVP_MPS2_M3 EXCLUDE_FROM_ALL) +add_subdirectory(TARGET_FVP_MPS2_M4 EXCLUDE_FROM_ALL) +add_subdirectory(TARGET_FVP_MPS2_M7 EXCLUDE_FROM_ALL) - set(SYSTEM_FILE TARGET_FVP_MPS2_M0/device/system_CMSDK_CM0.c) +add_library(mbed-fvp-mps2 INTERFACE) - if(${MBED_TOOLCHAIN} STREQUAL "ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_ARM_STD/MPS2.sct) - set(STARTUP_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_ARM_STD/startup_MPS2.S) - elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_GCC_ARM/MPS2.ld) - set(STARTUP_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) - endif() -elseif("FVP_MPS2_M0P" IN_LIST MBED_TARGET_LABELS) - target_include_directories(mbed-core - INTERFACE - TARGET_FVP_MPS2_M0P/device - ) - - set(SYSTEM_FILE TARGET_FVP_MPS2_M0P/device/system_CMSDK_CM0plus.c) - - if(${MBED_TOOLCHAIN} STREQUAL "ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_ARM_STD/MPS2.sct) - set(STARTUP_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_ARM_STD/startup_MPS2.S) - elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/MPS2.ld) - set(STARTUP_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) - endif() -elseif("FVP_MPS2_M3" IN_LIST MBED_TARGET_LABELS) - target_include_directories(mbed-core - INTERFACE - TARGET_FVP_MPS2_M3/device - ) - - set(SYSTEM_FILE TARGET_FVP_MPS2_M3/device/system_CMSDK_CM3.c) - - if(${MBED_TOOLCHAIN} STREQUAL "ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_ARM_STD/MPS2.sct) - set(STARTUP_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_ARM_STD/startup_MPS2.S) - elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_GCC_ARM/MPS2.ld) - set(STARTUP_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) - endif() -elseif("FVP_MPS2_M4" IN_LIST MBED_TARGET_LABELS) - target_include_directories(mbed-core - INTERFACE - TARGET_FVP_MPS2_M4/device - ) - - set(SYSTEM_FILE TARGET_FVP_MPS2_M4/device/system_CMSDK_CM4.c) - - if(${MBED_TOOLCHAIN} STREQUAL "ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_ARM_STD/MPS2.sct) - set(STARTUP_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_ARM_STD/startup_MPS2.S) - elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_GCC_ARM/MPS2.ld) - set(STARTUP_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) - endif() -elseif("FVP_MPS2_M7" IN_LIST MBED_TARGET_LABELS) - target_include_directories(mbed-core - INTERFACE - TARGET_FVP_MPS2_M7/device - ) - - set(SYSTEM_FILE TARGET_FVP_MPS2_M7/device/system_CMSDK_CM7.c) - - if(${MBED_TOOLCHAIN} STREQUAL "ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_ARM_STD/MPS2.sct) - set(STARTUP_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S) - elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") - set(LINKER_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_GCC_ARM/MPS2.ld) - set(STARTUP_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) - endif() -endif() - -set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) - -target_include_directories(mbed-core +target_include_directories(mbed-fvp-mps2 INTERFACE . drivers SDK ) -target_sources(mbed-core +target_sources(mbed-fvp-mps2 INTERFACE analogin_api.c flash_api.c @@ -106,6 +35,6 @@ target_sources(mbed-core drivers/lan91c111.c SDK/fpga.c - ${SYSTEM_FILE} - ${STARTUP_FILE} ) + +target_link_libraries(mbed-fvp-mps2 INTERFACE mbed-arm-fm) diff --git a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0/CMakeLists.txt b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0/CMakeLists.txt new file mode 100644 index 0000000000..ed564a82a8 --- /dev/null +++ b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0/CMakeLists.txt @@ -0,0 +1,27 @@ +# Copyright (c) 2021 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +add_library(mbed-fvp-mps2-m0 INTERFACE) + +if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) +endif() + +mbed_set_linker_script(mbed-fvp-mps2-m0 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-fvp-mps2-m0 + INTERFACE + device +) + +target_sources(mbed-fvp-mps2-m0 + INTERFACE + device/system_CMSDK_CM0.c + ${STARTUP_FILE} +) + +target_link_libraries(mbed-fvp-mps2-m0 INTERFACE mbed-fvp-mps2) diff --git a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0P/CMakeLists.txt b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0P/CMakeLists.txt new file mode 100644 index 0000000000..5d47d9bee6 --- /dev/null +++ b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M0P/CMakeLists.txt @@ -0,0 +1,27 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +add_library(mbed-fvp-mps2-m0p INTERFACE) + +if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) +endif() + +mbed_set_linker_script(mbed-fvp-mps2-m0p ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-fvp-mps2-m0p + INTERFACE + device +) + +target_sources(mbed-fvp-mps2-m0p + INTERFACE + device/system_CMSDK_CM0plus.c + ${STARTUP_FILE} +) + +target_link_libraries(mbed-fvp-mps2-m0p INTERFACE mbed-fvp-mps2) diff --git a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M3/CMakeLists.txt b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M3/CMakeLists.txt new file mode 100644 index 0000000000..b50d91f898 --- /dev/null +++ b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M3/CMakeLists.txt @@ -0,0 +1,27 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +add_library(mbed-fvp-mps2-m3 INTERFACE) + +if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) +endif() + +mbed_set_linker_script(mbed-fvp-mps2-m3 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-fvp-mps2-m3 + INTERFACE + device +) + +target_sources(mbed-fvp-mps2-m3 + INTERFACE + device/system_CMSDK_CM3.c + ${STARTUP_FILE} +) + +target_link_libraries(mbed-fvp-mps2-m3 INTERFACE mbed-fvp-mps2) diff --git a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M4/CMakeLists.txt b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M4/CMakeLists.txt new file mode 100644 index 0000000000..1450317a6b --- /dev/null +++ b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M4/CMakeLists.txt @@ -0,0 +1,31 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +add_library(mbed-fvp-mps2-m4 INTERFACE) + +target_include_directories(mbed-fvp-mps2-m4 + INTERFACE + device +) + +if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) +endif() +mbed_set_linker_script(mbed-fvp-mps2-m4 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-fvp-mps2-m4 + INTERFACE + device +) + +target_sources(mbed-fvp-mps2-m4 + INTERFACE + device/system_CMSDK_CM4.c + ${STARTUP_FILE} +) + +target_link_libraries(mbed-fvp-mps2-m4 INTERFACE mbed-fvp-mps2) diff --git a/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M7/CMakeLists.txt b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M7/CMakeLists.txt new file mode 100644 index 0000000000..8c1d453027 --- /dev/null +++ b/targets/TARGET_ARM_FM/TARGET_FVP_MPS2/TARGET_FVP_MPS2_M7/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright (c) 2020 ARM Limited. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 + +add_library(mbed-fvp-mps2-m7 INTERFACE) + +target_include_directories(mbed-fvp-mps2-m7 + INTERFACE + device +) + +if(${MBED_TOOLCHAIN} STREQUAL "ARM") + set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct) + set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S) +elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM") + set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld) + set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S) +endif() + +mbed_set_linker_script(mbed-fvp-mps2-m7 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}) + +target_include_directories(mbed-fvp-mps2-m7 + INTERFACE + device +) + +target_sources(mbed-fvp-mps2-m7 + INTERFACE + device/system_CMSDK_CM7.c + ${STARTUP_FILE} +) + +target_link_libraries(mbed-fvp-mps2-m7 INTERFACE mbed-fvp-mps2)