-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
80 lines (60 loc) · 2.65 KB
/
CMakeLists.txt
File metadata and controls
80 lines (60 loc) · 2.65 KB
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
75
76
77
78
79
80
cmake_policy(SET CMP0048 NEW)
cmake_minimum_required(VERSION 3.13.0)
if (NM_TARGET STREQUAL "nm180100")
set(NM_FAMILY "nm1801xx" CACHE PATH "nm1801xx family")
elseif (NM_TARGET STREQUAL "nm180110")
set(NM_FAMILY "nm1801xx" CACHE PATH "nm1801xx family")
elseif (NM_TARGET STREQUAL "apollo510")
set(NM_FAMILY "cortex-m55" CACHE PATH "cortex-m55 family")
set(FEATURE_RAT_BLE_ENABLE OFF CACHE BOOL "" FORCE)
set(FEATURE_RAT_LORAWAN_ENABLE OFF CACHE BOOL "" FORCE)
set(FEATURE_RAT_LORA_MESH_ENABLE OFF CACHE BOOL "" FORCE)
set(FEATURE_RAT_LORADIRECT_ENABLE OFF CACHE BOOL "" FORCE)
else()
message(FATAL_ERROR "Unknown NM_TARGET: ${NM_TARGET}")
endif()
set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/targets/${NM_FAMILY}/${NM_TARGET}/build.cmake)
# Enable this option to re-build the rtos library
option(BUILD_RTOS "" OFF)
# Enable this option to re-build the hal library
option(BUILD_HAL "" OFF)
# Enable this option to re-build the LoRaWAN library
option(BUILD_LORAWAN "" OFF)
# Enable this option to re-build the LoRa Basic Modem library
option(BUILD_LBM "" OFF)
# Enable this option to re-build the ble library
option(BUILD_BLE "" OFF)
# Enable this option to re-build the LoRa mesh library
option(BUILD_LORA_MESH "" OFF)
# Enable this option to re-build the Tensorflow Lite Micro library
option(BUILD_TFLM "" OFF)
project(nmsdk2)
add_definitions(-DNMI)
set(TARGET_NEWLIB_STUB_SRC ${PROJECT_SOURCE_DIR}/targets/${NM_FAMILY}/common/stub.c CACHE PATH "newlib stub file")
set(TARGET_STARTUP_SRC ${PROJECT_SOURCE_DIR}/targets/${NM_FAMILY}/${NM_TARGET}/startup_gcc.c ${PROJECT_SOURCE_DIR}/hal/ambiq/CMSIS/AmbiqMicro/Source/system_apollo510.c CACHE PATH "startup file")
set(TARGET_LINK_SCRIPT ${PROJECT_SOURCE_DIR}/targets/${NM_FAMILY}/${NM_TARGET}/target.ld CACHE PATH "link script")
set(SDK_DIR ${PROJECT_SOURCE_DIR} CACHE PATH "SDK directory")
set(FAMILY_DIR targets/${NM_FAMILY})
set(FAMILY_COMMON_DIR targets/${NM_FAMILY}/common)
set(TARGET_DIR targets/${NM_FAMILY}/${NM_TARGET})
add_subdirectory(version)
add_subdirectory(${FAMILY_COMMON_DIR}/hal)
add_subdirectory(${TARGET_DIR})
add_subdirectory(${FAMILY_COMMON_DIR}/cmsis)
add_subdirectory(doc EXCLUDE_FROM_ALL)
if (FEATURE_RAT_LORAWAN_ENABLE)
add_subdirectory(${TARGET_DIR}/comms/lorawan)
# add_subdirectory(${TARGET_DIR}/comms/SWL2001)
endif()
if (FEATURE_RAT_BLE_ENABLE)
add_subdirectory(${FAMILY_COMMON_DIR}/comms/ble)
endif()
if (FEATURE_RAT_LORA_MESH_ENABLE)
add_subdirectory(${TARGET_DIR}/comms/lora_mesh)
endif()
if (FEATURE_RAT_LORA_DIRECT_ENABLE)
add_subdirectory(${FAMILY_COMMON_DIR}/comms/lora_direct)
endif()
if (FEATURE_TFLM_ENABLE)
add_subdirectory(${FAMILY_COMMON_DIR}/middleware/tflm)
endif()