Skip to content

Commit 0adb917

Browse files
committed
CMake Arm SSG: refactor CMake targets
Create CMake target per each Mbed OS target.
1 parent c153880 commit 0adb917

File tree

10 files changed

+195
-107
lines changed

10 files changed

+195
-107
lines changed

targets/TARGET_ARM_SSG/CMakeLists.txt

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

4-
if("CM3DS_MPS2" IN_LIST MBED_TARGET_LABELS)
5-
add_subdirectory(TARGET_CM3DS_MPS2)
6-
elseif("MPS2" IN_LIST MBED_TARGET_LABELS)
7-
add_subdirectory(TARGET_MPS2)
8-
elseif("MUSCA_B1" IN_LIST MBED_TARGET_LABELS)
9-
add_subdirectory(TARGET_MUSCA_B1)
10-
elseif("MUSCA_S1" IN_LIST MBED_TARGET_LABELS)
11-
add_subdirectory(TARGET_MUSCA_S1)
12-
endif()
4+
add_library(mbed-arm-ssg INTERFACE)
135

14-
target_include_directories(mbed-core
6+
add_subdirectory(TARGET_CM3DS_MPS2 EXCLUDE_FROM_ALL)
7+
add_subdirectory(TARGET_MPS2 EXCLUDE_FROM_ALL)
8+
add_subdirectory(TARGET_MUSCA_B1 EXCLUDE_FROM_ALL)
9+
add_subdirectory(TARGET_MUSCA_S1 EXCLUDE_FROM_ALL)
10+
11+
target_include_directories(mbed-arm-ssg
1512
INTERFACE
1613
.
1714
)

targets/TARGET_ARM_SSG/TARGET_CM3DS_MPS2/CMakeLists.txt

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

4+
add_library(mbed-arm-cm3ds-mps2 INTERFACE)
5+
46
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
57
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MPS2.sct)
68
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
@@ -9,9 +11,9 @@ elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
911
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
1012
endif()
1113

12-
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
14+
mbed_set_linker_script(mbed-arm-cm3ds-mps2 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
1315

14-
target_include_directories(mbed-core
16+
target_include_directories(mbed-arm-cm3ds-mps2
1517
INTERFACE
1618
.
1719
device
@@ -21,7 +23,7 @@ target_include_directories(mbed-core
2123
device/drivers/timer_cmsdk
2224
)
2325

24-
target_sources(mbed-core
26+
target_sources(mbed-arm-cm3ds-mps2
2527
INTERFACE
2628
analogin_api.c
2729
cmsdk_ticker.c
@@ -61,3 +63,8 @@ target_sources(mbed-core
6163
device/drivers/timer_cmsdk/timer_cmsdk_drv.c
6264
${STARTUP_FILE}
6365
)
66+
67+
target_link_libraries(mbed-arm-cm3ds-mps2
68+
INTERFACE
69+
mbed-arm-ssg
70+
)
Lines changed: 13 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,21 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("MPS2_M0" IN_LIST MBED_TARGET_LABELS)
5-
target_include_directories(mbed-core
6-
INTERFACE
7-
TARGET_MPS2_M0/device
8-
)
4+
add_library(mbed-mps2 INTERFACE)
95

10-
target_sources(mbed-core
11-
INTERFACE
12-
TARGET_MPS2_M0/device/cmsis_nvic.c
13-
)
6+
add_subdirectory(TARGET_MPS2_M0 EXCLUDE_FROM_ALL)
7+
add_subdirectory(TARGET_MPS2_M0P EXCLUDE_FROM_ALL)
8+
add_subdirectory(TARGET_MPS2_M3 EXCLUDE_FROM_ALL)
9+
add_subdirectory(TARGET_MPS2_M4 EXCLUDE_FROM_ALL)
10+
add_subdirectory(TARGET_MPS2_M7 EXCLUDE_FROM_ALL)
1411

15-
set(SYSTEM_FILE TARGET_MPS2_M0/device/system_CMSDK_CM0.c)
16-
17-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
18-
set(LINKER_FILE TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/MPS2.sct)
19-
set(STARTUP_FILE TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
20-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
21-
set(LINKER_FILE TARGET_MPS2_M0/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
22-
set(STARTUP_FILE TARGET_MPS2_M0/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
23-
endif()
24-
elseif("MPS2_M0P" IN_LIST MBED_TARGET_LABELS)
25-
target_include_directories(mbed-core
26-
INTERFACE
27-
TARGET_MPS2_M0P/device
28-
)
29-
30-
set(SYSTEM_FILE TARGET_MPS2_M0P/device/system_CMSDK_CM0plus.c)
31-
32-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
33-
set(LINKER_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/MPS2.sct)
34-
set(STARTUP_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
35-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
36-
set(LINKER_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
37-
set(STARTUP_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
38-
endif()
39-
elseif("MPS2_M3" IN_LIST MBED_TARGET_LABELS)
40-
target_include_directories(mbed-core
41-
INTERFACE
42-
TARGET_MPS2_M3/device
43-
)
44-
45-
set(SYSTEM_FILE TARGET_MPS2_M3/device/system_CMSDK_CM3.c)
46-
47-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
48-
set(LINKER_FILE TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/MPS2.sct)
49-
set(STARTUP_FILE TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
50-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
51-
set(LINKER_FILE TARGET_MPS2_M3/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
52-
set(STARTUP_FILE TARGET_MPS2_M3/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
53-
endif()
54-
elseif("MPS2_M4" IN_LIST MBED_TARGET_LABELS)
55-
target_include_directories(mbed-core
56-
INTERFACE
57-
TARGET_MPS2_M4/device
58-
)
59-
60-
set(SYSTEM_FILE TARGET_MPS2_M4/device/system_CMSDK_CM4.c)
61-
62-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
63-
set(LINKER_FILE TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/MPS2.sct)
64-
set(STARTUP_FILE TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
65-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
66-
set(LINKER_FILE TARGET_MPS2_M4/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
67-
set(STARTUP_FILE TARGET_MPS2_M4/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
68-
endif()
69-
elseif("MPS2_M7" IN_LIST MBED_TARGET_LABELS)
70-
target_include_directories(mbed-core
71-
INTERFACE
72-
TARGET_MPS2_M7/device
73-
)
74-
75-
set(SYSTEM_FILE TARGET_MPS2_M7/device/system_CMSDK_CM7.c)
76-
77-
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
78-
set(LINKER_FILE TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/MPS2.sct)
79-
set(STARTUP_FILE TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S)
80-
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
81-
set(LINKER_FILE TARGET_MPS2_M7/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
82-
set(STARTUP_FILE TARGET_MPS2_M7/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
83-
endif()
84-
endif()
85-
86-
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
87-
88-
target_include_directories(mbed-core
12+
target_include_directories(mbed-mps2
8913
INTERFACE
9014
.
9115
SDK
9216
)
9317

94-
target_sources(mbed-core
18+
target_sources(mbed-mps2
9519
INTERFACE
9620
analogin_api.c
9721
gpio_api.c
@@ -107,6 +31,9 @@ target_sources(mbed-core
10731
SDK/fpga.c
10832
SDK/mps2_ethernet_api.c
10933

110-
${SYSTEM_FILE}
111-
${STARTUP_FILE}
34+
)
35+
36+
target_link_libraries(mbed-mps2
37+
INTERFACE
38+
mbed-arm-ssg
11239
)
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-arm-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-arm-mps2-m0 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
15+
16+
target_include_directories(mbed-arm-mps2-m0
17+
INTERFACE
18+
device
19+
)
20+
21+
target_sources(mbed-arm-mps2-m0
22+
INTERFACE
23+
device/cmsis_nvic.c
24+
device/system_CMSDK_CM0.c
25+
${STARTUP_FILE}
26+
)
27+
28+
target_link_libraries(mbed-arm-mps2-m0
29+
INTERFACE
30+
mbed-mps2
31+
)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-arm-mps2-m0p INTERFACE)
5+
6+
target_include_directories(mbed-arm-mps2-m0p
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+
19+
mbed_set_linker_script(mbed-arm-mps2-m0p ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
20+
21+
target_sources(mbed-arm-mps2-m0p
22+
INTERFACE
23+
device/system_CMSDK_CM0plus.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-arm-mps2-m0p
28+
INTERFACE
29+
mbed-mps2
30+
)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-arm-mps2-m3 INTERFACE)
5+
6+
target_include_directories(mbed-arm-mps2-m3
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+
19+
mbed_set_linker_script(mbed-arm-mps2-m3 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
20+
21+
target_sources(mbed-arm-mps2-m3
22+
INTERFACE
23+
device/system_CMSDK_CM3.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-arm-mps2-m3
28+
INTERFACE
29+
mbed-mps2
30+
)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-arm-mps2-m4 INTERFACE)
5+
6+
target_include_directories(mbed-arm-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+
19+
mbed_set_linker_script(mbed-arm-mps2-m4 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
20+
21+
target_sources(mbed-arm-mps2-m4
22+
INTERFACE
23+
device/system_CMSDK_CM4.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-arm-mps2-m4
28+
INTERFACE
29+
mbed-mps2
30+
)
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Copyright (c) 2021 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
add_library(mbed-arm-mps2-m7 INTERFACE)
5+
6+
target_include_directories(mbed-arm-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_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+
19+
mbed_set_linker_script(mbed-arm-mps2-m7 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
20+
21+
target_sources(mbed-arm-mps2-m7
22+
INTERFACE
23+
device/system_CMSDK_CM7.c
24+
${STARTUP_FILE}
25+
)
26+
27+
target_link_libraries(mbed-arm-mps2-m7
28+
INTERFACE
29+
mbed-mps2
30+
)

targets/TARGET_ARM_SSG/TARGET_MUSCA_B1/CMakeLists.txt

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

4+
add_library(mbed-arm-musca-b1 INTERFACE)
5+
46
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
57
set(LINKER_FILE device/TOOLCHAIN_ARMC6/musca_ns.sct)
68
set(STARTUP_FILE device/TOOLCHAIN_ARMC6/startup_cmsdk_musca_ns.S)
@@ -9,17 +11,17 @@ elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
911
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_cmsdk_musca_ns.S)
1012
endif()
1113

12-
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
14+
mbed_set_linker_script(mbed-arm-musca-b1 ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
1315

14-
target_include_directories(mbed-core
16+
target_include_directories(mbed-arm-musca-b1
1517
INTERFACE
1618
.
1719
device
1820
device/drivers
1921
partition
2022
)
2123

22-
target_sources(mbed-core
24+
target_sources(mbed-arm-musca-b1
2325
INTERFACE
2426
gpio_api_ns.c
2527
gpio_irq_api.c
@@ -48,7 +50,8 @@ target_sources(mbed-core
4850
${STARTUP_FILE}
4951
)
5052

51-
target_link_libraries(mbed-core
53+
target_link_libraries(mbed-arm-musca-b1
5254
INTERFACE
5355
${CMAKE_CURRENT_SOURCE_DIR}/s_veneers.o
56+
mbed-arm-ssg
5457
)

0 commit comments

Comments
 (0)