-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
74 lines (52 loc) · 3.08 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
cmake_minimum_required(VERSION 3.19)
cmake_policy(VERSION 3.19)
#### Initialize Mbed OS build system. ####
######################################################################################################
#[[ Set path of mbed_app.json (necessary at all times) ]]
set(MBED_APP_JSON_PATH mbed_app.json5)
###---------------------------------------------------------------------------------------------------
#[[ This part is dedicated for custom targets only! Settings below activate targets from
custom_targets.json5 and upload method config, otherwise lines below should be commented. ]]
#[[ Here set path for custom_targets.json5 (this is our default) ]]
set(CUSTOM_TARGETS_JSON_PATH custom_targets/custom_targets.json5)
#[[ Here you can set path for custom upload config.
You may delete this line if you don't wish to use Mbed CE upload methods
in your project.]]
set(CUSTOM_UPLOAD_CFG_PATH custom_targets/CustomUploadMethods.cmake)
### End of block
######################################################################################################
### include app.cmake (necessary everytime) ###
include(mbed-os/tools/cmake/app.cmake)
######################################################################################################
### Block of including project folders
#[[ Add custom targets subdir first, before mbed-os!]]
add_subdirectory(custom_targets)
###--------------------------------------------------------------------------------------------------
## Add mbed-os subdirectory next (necessary everytime)
add_subdirectory(mbed-os)
###--------------------------------------------------------------------------------------------------
## Add another subdirectory, for example subdirectory of a library (if needed)
#add_subdirectory(YourLibrary)
### End of block
######################################################################################################
### Set up your project name (necessary everytime)
project(mbed-ce-custom-targets)
### add executable (necessary everytime)
add_executable(${CMAKE_PROJECT_NAME} main.cpp)
######################################################################################################
### Link libraries block
#[[For more about this configuration visit wiki page MbedOS-configuration
https://github.com/mbed-ce/mbed-os/wiki/MbedOS-configuration#configuration-via-cmake-files]]
#[[link MbedOS and its libraries (necessary everytime)]]
target_link_libraries(${CMAKE_PROJECT_NAME} mbed-os)
### link user library (if needed)
#target_link_libraries(${CMAKE_PROJECT_NAME} YourLibrary)
### End of block
######################################################################################################
### Set post build (necessary everytime)
mbed_set_post_build(${CMAKE_PROJECT_NAME})
#[[ Note: if you wish to use a custom linker script instead of the default Mbed one for
your target, you can do that with mbed_set_post_build(${CMAKE_PROJECT_NAME} path/to/linker_script.ld) ]]
### Call this last, after creating all targets. It writes out IDE configuration files
### so that you can run your targets in VS Code.
mbed_finalize_build()