ARM FM: refactor CMake targets

pull/14246/head
Martin Kojtal 2021-02-08 16:46:30 +00:00
parent 0f000a0502
commit 302c86041f
7 changed files with 156 additions and 85 deletions

View File

@ -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(ARM_FM INTERFACE)
target_include_directories(mbed-core
add_subdirectory(TARGET_FVP_MPS2 EXCLUDE_FROM_ALL)
target_include_directories(ARM_FM
INTERFACE
.
)

View File

@ -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(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(FVP_MPS2
INTERFACE
.
drivers
SDK
)
target_sources(mbed-core
target_sources(FVP_MPS2
INTERFACE
analogin_api.c
flash_api.c
@ -106,6 +35,4 @@ target_sources(mbed-core
drivers/lan91c111.c
SDK/fpga.c
${SYSTEM_FILE}
${STARTUP_FILE}
)

View File

@ -0,0 +1,27 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(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(FVP_MPS2_M0 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(FVP_MPS2_M0
INTERFACE
device
)
target_sources(FVP_MPS2_M0
INTERFACE
device/system_CMSDK_CM0.c
${STARTUP_FILE}
)
target_link_libraries(FVP_MPS2_M0 INTERFACE FVP_MPS2 ARM_FM)

View File

@ -0,0 +1,27 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(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(FVP_MPS2_M0P ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(FVP_MPS2_M0P
INTERFACE
device
)
target_sources(FVP_MPS2_M0P
INTERFACE
device/system_CMSDK_CM0plus.c
${STARTUP_FILE}
)
target_link_libraries(FVP_MPS2_M0P INTERFACE FVP_MPS2 ARM_FM)

View File

@ -0,0 +1,27 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(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(FVP_MPS2_M3 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(FVP_MPS2_M3
INTERFACE
device
)
target_sources(FVP_MPS2_M3
INTERFACE
device/system_CMSDK_CM3.c
${STARTUP_FILE}
)
target_link_libraries(FVP_MPS2_M3 INTERFACE FVP_MPS2 ARM_FM)

View File

@ -0,0 +1,31 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(FVP_MPS2_M4 INTERFACE)
target_include_directories(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(FVP_MPS2_M4 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(FVP_MPS2_M4
INTERFACE
device
)
target_sources(FVP_MPS2_M4
INTERFACE
device/system_CMSDK_CM4.c
${STARTUP_FILE}
)
target_link_libraries(FVP_MPS2_M4 INTERFACE FVP_MPS2 ARM_FM)

View File

@ -0,0 +1,32 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
add_library(FVP_MPS2_M7 INTERFACE)
target_include_directories(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(FVP_MPS2_M7 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(FVP_MPS2_M7
INTERFACE
device
)
target_sources(FVP_MPS2_M7
INTERFACE
device/system_CMSDK_CM7.c
${STARTUP_FILE}
)
target_link_libraries(FVP_MPS2_M7 INTERFACE FVP_MPS2 ARM_FM)