Skip to content

Commit 24c9d24

Browse files
authored
Merge pull request #14246 from 0xc0170/cmake-refactor-arm-fm
ARM FM: refactor CMake targets
2 parents 7647a2c + 1516c57 commit 24c9d24

File tree

7 files changed

+158
-85
lines changed

7 files changed

+158
-85
lines changed

targets/TARGET_ARM_FM/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("FVP_MPS2" IN_LIST MBED_TARGET_LABELS)
5-
add_subdirectory(TARGET_FVP_MPS2)
6-
endif()
4+
add_library(mbed-arm-fm INTERFACE)
75

8-
target_include_directories(mbed-core
6+
add_subdirectory(TARGET_FVP_MPS2 EXCLUDE_FROM_ALL)
7+
8+
target_include_directories(mbed-arm-fm
99
INTERFACE
1010
.
1111
)
Lines changed: 10 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,22 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("FVP_MPS2_M0" IN_LIST MBED_TARGET_LABELS)
5-
target_include_directories(mbed-core
6-
INTERFACE
7-
TARGET_FVP_MPS2_M0/device
8-
)
4+
add_subdirectory(TARGET_FVP_MPS2_M0 EXCLUDE_FROM_ALL)
5+
add_subdirectory(TARGET_FVP_MPS2_M0P EXCLUDE_FROM_ALL)
6+
add_subdirectory(TARGET_FVP_MPS2_M3 EXCLUDE_FROM_ALL)
7+
add_subdirectory(TARGET_FVP_MPS2_M4 EXCLUDE_FROM_ALL)
8+
add_subdirectory(TARGET_FVP_MPS2_M7 EXCLUDE_FROM_ALL)
99

10-
set(SYSTEM_FILE TARGET_FVP_MPS2_M0/device/system_CMSDK_CM0.c)
10+
add_library(mbed-fvp-mps2 INTERFACE)
1111

12-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
13-
set(LINKER_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_ARM_STD/MPS2.sct)
14-
set(STARTUP_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
15-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
16-
set(LINKER_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
17-
set(STARTUP_FILE TARGET_FVP_MPS2_M0/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
18-
endif()
19-
elseif("FVP_MPS2_M0P" IN_LIST MBED_TARGET_LABELS)
20-
target_include_directories(mbed-core
21-
INTERFACE
22-
TARGET_FVP_MPS2_M0P/device
23-
)
24-
25-
set(SYSTEM_FILE TARGET_FVP_MPS2_M0P/device/system_CMSDK_CM0plus.c)
26-
27-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
28-
set(LINKER_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_ARM_STD/MPS2.sct)
29-
set(STARTUP_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
30-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
31-
set(LINKER_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
32-
set(STARTUP_FILE TARGET_FVP_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
33-
endif()
34-
elseif("FVP_MPS2_M3" IN_LIST MBED_TARGET_LABELS)
35-
target_include_directories(mbed-core
36-
INTERFACE
37-
TARGET_FVP_MPS2_M3/device
38-
)
39-
40-
set(SYSTEM_FILE TARGET_FVP_MPS2_M3/device/system_CMSDK_CM3.c)
41-
42-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
43-
set(LINKER_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_ARM_STD/MPS2.sct)
44-
set(STARTUP_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
45-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
46-
set(LINKER_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
47-
set(STARTUP_FILE TARGET_FVP_MPS2_M3/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
48-
endif()
49-
elseif("FVP_MPS2_M4" IN_LIST MBED_TARGET_LABELS)
50-
target_include_directories(mbed-core
51-
INTERFACE
52-
TARGET_FVP_MPS2_M4/device
53-
)
54-
55-
set(SYSTEM_FILE TARGET_FVP_MPS2_M4/device/system_CMSDK_CM4.c)
56-
57-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
58-
set(LINKER_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_ARM_STD/MPS2.sct)
59-
set(STARTUP_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
60-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
61-
set(LINKER_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
62-
set(STARTUP_FILE TARGET_FVP_MPS2_M4/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
63-
endif()
64-
elseif("FVP_MPS2_M7" IN_LIST MBED_TARGET_LABELS)
65-
target_include_directories(mbed-core
66-
INTERFACE
67-
TARGET_FVP_MPS2_M7/device
68-
)
69-
70-
set(SYSTEM_FILE TARGET_FVP_MPS2_M7/device/system_CMSDK_CM7.c)
71-
72-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
73-
set(LINKER_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_ARM_STD/MPS2.sct)
74-
set(STARTUP_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S)
75-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
76-
set(LINKER_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
77-
set(STARTUP_FILE TARGET_FVP_MPS2_M7/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
78-
endif()
79-
endif()
80-
81-
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
82-
83-
target_include_directories(mbed-core
12+
target_include_directories(mbed-fvp-mps2
8413
INTERFACE
8514
.
8615
drivers
8716
SDK
8817
)
8918

90-
target_sources(mbed-core
19+
target_sources(mbed-fvp-mps2
9120
INTERFACE
9221
analogin_api.c
9322
flash_api.c
@@ -106,6 +35,6 @@ target_sources(mbed-core
10635
drivers/lan91c111.c
10736

10837
SDK/fpga.c
109-
${SYSTEM_FILE}
110-
${STARTUP_FILE}
11138
)
39+
40+
target_link_libraries(mbed-fvp-mps2 INTERFACE mbed-arm-fm)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-fvp-mps2-m0 INTERFACE)
5+
6+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
7+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
8+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
9+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
10+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld)
11+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
12+
endif()
13+
14+
mbed_set_linker_script(mbed-fvp-mps2-m0 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
15+
16+
target_include_directories(mbed-fvp-mps2-m0
17+
INTERFACE
18+
device
19+
)
20+
21+
target_sources(mbed-fvp-mps2-m0
22+
INTERFACE
23+
device/system_CMSDK_CM0.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-fvp-mps2-m0 INTERFACE mbed-fvp-mps2)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-fvp-mps2-m0p INTERFACE)
5+
6+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
7+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
8+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
9+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
10+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld)
11+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
12+
endif()
13+
14+
mbed_set_linker_script(mbed-fvp-mps2-m0p ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
15+
16+
target_include_directories(mbed-fvp-mps2-m0p
17+
INTERFACE
18+
device
19+
)
20+
21+
target_sources(mbed-fvp-mps2-m0p
22+
INTERFACE
23+
device/system_CMSDK_CM0plus.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-fvp-mps2-m0p INTERFACE mbed-fvp-mps2)
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-fvp-mps2-m3 INTERFACE)
5+
6+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
7+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
8+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
9+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
10+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld)
11+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
12+
endif()
13+
14+
mbed_set_linker_script(mbed-fvp-mps2-m3 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
15+
16+
target_include_directories(mbed-fvp-mps2-m3
17+
INTERFACE
18+
device
19+
)
20+
21+
target_sources(mbed-fvp-mps2-m3
22+
INTERFACE
23+
device/system_CMSDK_CM3.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-fvp-mps2-m3 INTERFACE mbed-fvp-mps2)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-fvp-mps2-m4 INTERFACE)
5+
6+
target_include_directories(mbed-fvp-mps2-m4
7+
INTERFACE
8+
device
9+
)
10+
11+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
12+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
13+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
14+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
15+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld)
16+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
17+
endif()
18+
mbed_set_linker_script(mbed-fvp-mps2-m4 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
19+
20+
target_include_directories(mbed-fvp-mps2-m4
21+
INTERFACE
22+
device
23+
)
24+
25+
target_sources(mbed-fvp-mps2-m4
26+
INTERFACE
27+
device/system_CMSDK_CM4.c
28+
${STARTUP_FILE}
29+
)
30+
31+
target_link_libraries(mbed-fvp-mps2-m4 INTERFACE mbed-fvp-mps2)
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-fvp-mps2-m7 INTERFACE)
5+
6+
target_include_directories(mbed-fvp-mps2-m7
7+
INTERFACE
8+
device
9+
)
10+
11+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
12+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
13+
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S)
14+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
15+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MPS2.ld)
16+
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
17+
endif()
18+
19+
mbed_set_linker_script(mbed-fvp-mps2-m7 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
20+
21+
target_include_directories(mbed-fvp-mps2-m7
22+
INTERFACE
23+
device
24+
)
25+
26+
target_sources(mbed-fvp-mps2-m7
27+
INTERFACE
28+
device/system_CMSDK_CM7.c
29+
${STARTUP_FILE}
30+
)
31+
32+
target_link_libraries(mbed-fvp-mps2-m7 INTERFACE mbed-fvp-mps2)

0 commit comments

Comments
 (0)