leo hendrickson / Mbed OS example-Ethernet-mbed-Cloud-connect
Committer:
leothedragon
Date:
Tue May 04 08:55:12 2021 +0000
Revision:
0:8f0bb79ddd48
nmn

Who changed what in which revision?

UserRevisionLine numberNew contents of line
leothedragon 0:8f0bb79ddd48 1 INCLUDE(CMakeForceCompiler)
leothedragon 0:8f0bb79ddd48 2 # CROSS COMPILER SETTING
leothedragon 0:8f0bb79ddd48 3 cmake_minimum_required (VERSION 3.5)
leothedragon 0:8f0bb79ddd48 4 SET(CMAKE_SYSTEM_NAME Generic)
leothedragon 0:8f0bb79ddd48 5
leothedragon 0:8f0bb79ddd48 6 add_definitions(-DTARGET_LIKE_POSIX)
leothedragon 0:8f0bb79ddd48 7
leothedragon 0:8f0bb79ddd48 8 if (${OS_BRAND} MATCHES Linux)
leothedragon 0:8f0bb79ddd48 9 add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=102400)
leothedragon 0:8f0bb79ddd48 10 else()
leothedragon 0:8f0bb79ddd48 11 add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=8000)
leothedragon 0:8f0bb79ddd48 12 endif()
leothedragon 0:8f0bb79ddd48 13
leothedragon 0:8f0bb79ddd48 14
leothedragon 0:8f0bb79ddd48 15 SET(MBED_CLOUD_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mbed-cloud-client)
leothedragon 0:8f0bb79ddd48 16
leothedragon 0:8f0bb79ddd48 17 add_definitions(-DMBED_CONF_NANOSTACK_EVENTLOOP_EXCLUDE_HIGHRES_TIMER)
leothedragon 0:8f0bb79ddd48 18 add_definitions(-DMBED_CONF_NANOSTACK_EVENTLOOP_USE_PLATFORM_TICK_TIMER)
leothedragon 0:8f0bb79ddd48 19
leothedragon 0:8f0bb79ddd48 20 add_definitions(-DARM_UC_PROFILE_MBED_CLOUD_CLIENT=1)
leothedragon 0:8f0bb79ddd48 21 add_definitions(-DARM_UC_FEATURE_PAL_FILESYSTEM=1)
leothedragon 0:8f0bb79ddd48 22
leothedragon 0:8f0bb79ddd48 23 # enable duplicate detection by default, count is the same as resend queue size
leothedragon 0:8f0bb79ddd48 24 add_definitions(-DMBED_CONF_MBED_CLIENT_SN_COAP_DUPLICATION_MAX_MSGS_COUNT=4)
leothedragon 0:8f0bb79ddd48 25
leothedragon 0:8f0bb79ddd48 26 project(mbedCloudClient)
leothedragon 0:8f0bb79ddd48 27
leothedragon 0:8f0bb79ddd48 28 # mbed-cloud-client
leothedragon 0:8f0bb79ddd48 29
leothedragon 0:8f0bb79ddd48 30 ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR})
leothedragon 0:8f0bb79ddd48 31 ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/source)
leothedragon 0:8f0bb79ddd48 32 ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/source/include)
leothedragon 0:8f0bb79ddd48 33 ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/mbed-cloud-client)
leothedragon 0:8f0bb79ddd48 34 ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/mbed-client)
leothedragon 0:8f0bb79ddd48 35
leothedragon 0:8f0bb79ddd48 36 # mbed-client
leothedragon 0:8f0bb79ddd48 37
leothedragon 0:8f0bb79ddd48 38 SET(MBED_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mbed-client)
leothedragon 0:8f0bb79ddd48 39
leothedragon 0:8f0bb79ddd48 40 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR})
leothedragon 0:8f0bb79ddd48 41 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/source)
leothedragon 0:8f0bb79ddd48 42 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/source/include)
leothedragon 0:8f0bb79ddd48 43 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client)
leothedragon 0:8f0bb79ddd48 44 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-c)
leothedragon 0:8f0bb79ddd48 45 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-c/nsdl-c)
leothedragon 0:8f0bb79ddd48 46 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-c/source/include)
leothedragon 0:8f0bb79ddd48 47 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-classic)
leothedragon 0:8f0bb79ddd48 48 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-classic/mbed-client-classic)
leothedragon 0:8f0bb79ddd48 49 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-mbed-tls)
leothedragon 0:8f0bb79ddd48 50 ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-mbed-tls/mbed-client-mbedtls)
leothedragon 0:8f0bb79ddd48 51
leothedragon 0:8f0bb79ddd48 52 # pal headers
leothedragon 0:8f0bb79ddd48 53
leothedragon 0:8f0bb79ddd48 54 SET(PAL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-pal/Source)
leothedragon 0:8f0bb79ddd48 55 ADD_GLOBALDIR(${PAL_SOURCE_DIR}/PAL-Impl/Services-API)
leothedragon 0:8f0bb79ddd48 56 ADD_GLOBALDIR(${PAL_SOURCE_DIR}/Port/Platform-API)
leothedragon 0:8f0bb79ddd48 57
leothedragon 0:8f0bb79ddd48 58 # common components
leothedragon 0:8f0bb79ddd48 59
leothedragon 0:8f0bb79ddd48 60 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap)
leothedragon 0:8f0bb79ddd48 61 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap/mbed-coap)
leothedragon 0:8f0bb79ddd48 62 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap/source/include)
leothedragon 0:8f0bb79ddd48 63 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-trace)
leothedragon 0:8f0bb79ddd48 64 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-trace/mbed-trace)
leothedragon 0:8f0bb79ddd48 65 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib)
leothedragon 0:8f0bb79ddd48 66 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib/mbed-client-randlib)
leothedragon 0:8f0bb79ddd48 67 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib/mbed-client-randlib/platform)
leothedragon 0:8f0bb79ddd48 68 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice)
leothedragon 0:8f0bb79ddd48 69 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/mbed-client-libservice)
leothedragon 0:8f0bb79ddd48 70 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/mbed-client-libservice/platform)
leothedragon 0:8f0bb79ddd48 71 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop)
leothedragon 0:8f0bb79ddd48 72 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/nanostack-event-loop)
leothedragon 0:8f0bb79ddd48 73 ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal)
leothedragon 0:8f0bb79ddd48 74
leothedragon 0:8f0bb79ddd48 75 # factory-client
leothedragon 0:8f0bb79ddd48 76
leothedragon 0:8f0bb79ddd48 77 SET(FACTORY_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/factory-configurator-client)
leothedragon 0:8f0bb79ddd48 78 ADD_GLOBALDIR(${FACTORY_CLIENT_SOURCE_DIR}/factory-configurator-client)
leothedragon 0:8f0bb79ddd48 79
leothedragon 0:8f0bb79ddd48 80 SET(FCC_MODULES
leothedragon 0:8f0bb79ddd48 81 ftcd-comm-base
leothedragon 0:8f0bb79ddd48 82 ftcd-comm-socket
leothedragon 0:8f0bb79ddd48 83 crypto-service
leothedragon 0:8f0bb79ddd48 84 key-config-manager
leothedragon 0:8f0bb79ddd48 85 factory-configurator-client
leothedragon 0:8f0bb79ddd48 86 fcc-bundle-handler
leothedragon 0:8f0bb79ddd48 87 secsrv-cbor
leothedragon 0:8f0bb79ddd48 88 logger
leothedragon 0:8f0bb79ddd48 89 storage
leothedragon 0:8f0bb79ddd48 90 utils
leothedragon 0:8f0bb79ddd48 91 mbed-trace-helper
leothedragon 0:8f0bb79ddd48 92 fcc-output-info-handler
leothedragon 0:8f0bb79ddd48 93 mbed-client-esfs
leothedragon 0:8f0bb79ddd48 94 )
leothedragon 0:8f0bb79ddd48 95
leothedragon 0:8f0bb79ddd48 96 # XXX: do NOT do this, no need to spam ~5KB of FCC include paths for each CC/CXX invocation.
leothedragon 0:8f0bb79ddd48 97 # includes
leothedragon 0:8f0bb79ddd48 98 #FOREACH(module ${FCC_MODULES})
leothedragon 0:8f0bb79ddd48 99 # ADD_GLOBALDIR(${FACTORY_CLIENT_SOURCE_DIR}/${module}/${module})
leothedragon 0:8f0bb79ddd48 100 # ADD_GLOBALDIR(${FACTORY_CLIENT_SOURCE_DIR}/${module}/source/include)
leothedragon 0:8f0bb79ddd48 101 #ENDFOREACH()
leothedragon 0:8f0bb79ddd48 102
leothedragon 0:8f0bb79ddd48 103 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/factory-configurator-client/source/include)
leothedragon 0:8f0bb79ddd48 104 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/factory-configurator-client/factory-configurator-client)
leothedragon 0:8f0bb79ddd48 105 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fc_protocol_handler/fc_protocol_handler)
leothedragon 0:8f0bb79ddd48 106 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fc_protocol_handler/source/include)
leothedragon 0:8f0bb79ddd48 107 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/secure_store)
leothedragon 0:8f0bb79ddd48 108 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/secure_store/secure_store)
leothedragon 0:8f0bb79ddd48 109 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/storage)
leothedragon 0:8f0bb79ddd48 110 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/storage/storage)
leothedragon 0:8f0bb79ddd48 111 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/key-config-manager)
leothedragon 0:8f0bb79ddd48 112 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/key-config-manager/source/include)
leothedragon 0:8f0bb79ddd48 113 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/utils)
leothedragon 0:8f0bb79ddd48 114 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/utils/utils)
leothedragon 0:8f0bb79ddd48 115 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/logger)
leothedragon 0:8f0bb79ddd48 116 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/logger/logger)
leothedragon 0:8f0bb79ddd48 117 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source/include)
leothedragon 0:8f0bb79ddd48 118 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source-pal/api)
leothedragon 0:8f0bb79ddd48 119 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source-pal/linux)
leothedragon 0:8f0bb79ddd48 120 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/crypto-service/crypto-service)
leothedragon 0:8f0bb79ddd48 121 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/crypto-service/source/include)
leothedragon 0:8f0bb79ddd48 122 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/secsrv-cbor/secsrv-cbor)
leothedragon 0:8f0bb79ddd48 123 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fcc-bundle-handler/fcc-bundle-handler)
leothedragon 0:8f0bb79ddd48 124 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fcc-bundle-handler/source/include)
leothedragon 0:8f0bb79ddd48 125 include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fcc-output-info-handler/fcc-output-info-handler)
leothedragon 0:8f0bb79ddd48 126
leothedragon 0:8f0bb79ddd48 127 # Certificate Enrollment Client
leothedragon 0:8f0bb79ddd48 128 SET(CERTIFICATE_ENROLLMENT_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/certificate-enrollment-client)
leothedragon 0:8f0bb79ddd48 129 ADD_GLOBALDIR(${CERTIFICATE_ENROLLMENT_CLIENT_SOURCE_DIR}/certificate-enrollment-client)
leothedragon 0:8f0bb79ddd48 130 include_directories(${CERTIFICATE_ENROLLMENT_CLIENT_SOURCE_DIR}/certificate-enrollment-client)
leothedragon 0:8f0bb79ddd48 131 include_directories(${CERTIFICATE_ENROLLMENT_CLIENT_SOURCE_DIR}/source/include)
leothedragon 0:8f0bb79ddd48 132
leothedragon 0:8f0bb79ddd48 133 # Update client
leothedragon 0:8f0bb79ddd48 134
leothedragon 0:8f0bb79ddd48 135 SET(UPDATE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/update-client-hub)
leothedragon 0:8f0bb79ddd48 136
leothedragon 0:8f0bb79ddd48 137 include_directories(${UPDATE_SOURCE_DIR})
leothedragon 0:8f0bb79ddd48 138 include_directories(${UPDATE_SOURCE_DIR}/modules/atomic-queue)
leothedragon 0:8f0bb79ddd48 139 include_directories(${UPDATE_SOURCE_DIR}/modules/common)
leothedragon 0:8f0bb79ddd48 140 include_directories(${UPDATE_SOURCE_DIR}/modules/control-center)
leothedragon 0:8f0bb79ddd48 141 include_directories(${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed)
leothedragon 0:8f0bb79ddd48 142 include_directories(${UPDATE_SOURCE_DIR}/modules/monitor)
leothedragon 0:8f0bb79ddd48 143 include_directories(${UPDATE_SOURCE_DIR}/modules/paal)
leothedragon 0:8f0bb79ddd48 144 include_directories(${UPDATE_SOURCE_DIR}/modules/source)
leothedragon 0:8f0bb79ddd48 145 include_directories(${UPDATE_SOURCE_DIR}/modules/source-http)
leothedragon 0:8f0bb79ddd48 146
leothedragon 0:8f0bb79ddd48 147
leothedragon 0:8f0bb79ddd48 148 FILE(GLOB MBED_CLOUD_CLIENT_SRC
leothedragon 0:8f0bb79ddd48 149 "${CMAKE_CURRENT_SOURCE_DIR}/source/*.c"
leothedragon 0:8f0bb79ddd48 150 "${CMAKE_CURRENT_SOURCE_DIR}/source/*.cpp"
leothedragon 0:8f0bb79ddd48 151 )
leothedragon 0:8f0bb79ddd48 152
leothedragon 0:8f0bb79ddd48 153 FILE(GLOB MBED_CLIENT_SRC
leothedragon 0:8f0bb79ddd48 154 "${MBED_CLIENT_SOURCE_DIR}/source/*.cpp"
leothedragon 0:8f0bb79ddd48 155 "${MBED_CLIENT_SOURCE_DIR}/source/*.c"
leothedragon 0:8f0bb79ddd48 156 "${MBED_CLIENT_SOURCE_DIR}/mbed-client-c/source/*.c"
leothedragon 0:8f0bb79ddd48 157 "${MBED_CLIENT_SOURCE_DIR}/mbed-client-classic/source/*.cpp"
leothedragon 0:8f0bb79ddd48 158 "${MBED_CLIENT_SOURCE_DIR}/mbed-client-mbed-tls/source/*.cpp"
leothedragon 0:8f0bb79ddd48 159 )
leothedragon 0:8f0bb79ddd48 160
leothedragon 0:8f0bb79ddd48 161 FILE(GLOB MBED_CLIENT_RANDLIB_SRC
leothedragon 0:8f0bb79ddd48 162 "${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib/source/*.c"
leothedragon 0:8f0bb79ddd48 163 )
leothedragon 0:8f0bb79ddd48 164
leothedragon 0:8f0bb79ddd48 165 # This part gets split into separate nanostacklibservice, which is needed
leothedragon 0:8f0bb79ddd48 166 # as the mbedTrace -library points to ip6tos and there is a dependency chain of
leothedragon 0:8f0bb79ddd48 167 # pal->mbed-trace->nanostack-libservice. Without this, the PAL should add mbedCloudClient
leothedragon 0:8f0bb79ddd48 168 # as dependency and that would also create a circular dependency, which is a nightmare on linking time.
leothedragon 0:8f0bb79ddd48 169 #
leothedragon 0:8f0bb79ddd48 170 # Note: the native Makefile of nanostack-libservice will create a library called "libservice",
leothedragon 0:8f0bb79ddd48 171 # so just to avoid some collisions, name of the library created by this is different and matches
leothedragon 0:8f0bb79ddd48 172 # the current name of the repository (nanostack-libservice).
leothedragon 0:8f0bb79ddd48 173 FILE(GLOB NANOSTACK_LIBSERVICE_SRC
leothedragon 0:8f0bb79ddd48 174 "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/libBits/common_functions.c"
leothedragon 0:8f0bb79ddd48 175 "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/libList/*.c"
leothedragon 0:8f0bb79ddd48 176 "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/nsdynmemLIB/*.c"
leothedragon 0:8f0bb79ddd48 177 "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/libip6string/ip6tos.c"
leothedragon 0:8f0bb79ddd48 178 )
leothedragon 0:8f0bb79ddd48 179
leothedragon 0:8f0bb79ddd48 180 # eventloop library
leothedragon 0:8f0bb79ddd48 181 FILE(GLOB NANOSTACK_EVENTLOOP_SRC
leothedragon 0:8f0bb79ddd48 182 "${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/source/*.c"
leothedragon 0:8f0bb79ddd48 183 "${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/source/*.h"
leothedragon 0:8f0bb79ddd48 184 "${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/source/*.cpp"
leothedragon 0:8f0bb79ddd48 185 )
leothedragon 0:8f0bb79ddd48 186
leothedragon 0:8f0bb79ddd48 187 # these will go to nshalpal library
leothedragon 0:8f0bb79ddd48 188 FILE(GLOB NS_HAL_PAL_SRC
leothedragon 0:8f0bb79ddd48 189 "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/ns_event_loop.c"
leothedragon 0:8f0bb79ddd48 190 if ((${OS_BRAND} MATCHES "FreeRTOS"))
leothedragon 0:8f0bb79ddd48 191 "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/arm_hal_random.c"
leothedragon 0:8f0bb79ddd48 192 endif()
leothedragon 0:8f0bb79ddd48 193 "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/ns_hal_init.c"
leothedragon 0:8f0bb79ddd48 194 "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/arm_hal_interrupt.c"
leothedragon 0:8f0bb79ddd48 195 "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/arm_hal_timer.cpp"
leothedragon 0:8f0bb79ddd48 196 )
leothedragon 0:8f0bb79ddd48 197
leothedragon 0:8f0bb79ddd48 198 # mbed-coap library
leothedragon 0:8f0bb79ddd48 199 FILE(GLOB MBED_COAP_SRC
leothedragon 0:8f0bb79ddd48 200 "${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap/source/*.c"
leothedragon 0:8f0bb79ddd48 201 )
leothedragon 0:8f0bb79ddd48 202
leothedragon 0:8f0bb79ddd48 203 message("MbedCloudClient sources = \n ${MBED_CLOUD_CLIENT_SRC}")
leothedragon 0:8f0bb79ddd48 204
leothedragon 0:8f0bb79ddd48 205 # Note: this is not using the CREATE_LIBRARY() on purpose, as it would pollute all the
leothedragon 0:8f0bb79ddd48 206 # executables with the library.
leothedragon 0:8f0bb79ddd48 207
leothedragon 0:8f0bb79ddd48 208 add_library(nshalpal STATIC "${NS_HAL_PAL_SRC}")
leothedragon 0:8f0bb79ddd48 209
leothedragon 0:8f0bb79ddd48 210 # ns-hal-pal uses PAL API's, so create dependency on them
leothedragon 0:8f0bb79ddd48 211 add_dependencies(nshalpal pal)
leothedragon 0:8f0bb79ddd48 212 target_link_libraries(nshalpal pal)
leothedragon 0:8f0bb79ddd48 213
leothedragon 0:8f0bb79ddd48 214 # nanostack-libservice is depending only of ns-hal (via platform_critical_*()), which is fulfilled
leothedragon 0:8f0bb79ddd48 215 # by ns-hal-pal.
leothedragon 0:8f0bb79ddd48 216 add_library(nanostacklibservice STATIC "${NANOSTACK_LIBSERVICE_SRC}")
leothedragon 0:8f0bb79ddd48 217 add_dependencies(nanostacklibservice nshalpal)
leothedragon 0:8f0bb79ddd48 218 target_link_libraries(nanostacklibservice nshalpal)
leothedragon 0:8f0bb79ddd48 219
leothedragon 0:8f0bb79ddd48 220 # libservice is needed for ns-list and nsdynmem, so add dependencies
leothedragon 0:8f0bb79ddd48 221 add_library(nanostackeventloop STATIC "${NANOSTACK_EVENTLOOP_SRC}")
leothedragon 0:8f0bb79ddd48 222 add_dependencies(nanostackeventloop nanostacklibservice)
leothedragon 0:8f0bb79ddd48 223 target_link_libraries(nanostackeventloop nanostacklibservice)
leothedragon 0:8f0bb79ddd48 224
leothedragon 0:8f0bb79ddd48 225 # randlib depends only on ns-hal-pal
leothedragon 0:8f0bb79ddd48 226 add_library(mbedclientrandlib STATIC "${MBED_CLIENT_RANDLIB_SRC}")
leothedragon 0:8f0bb79ddd48 227 add_dependencies(mbedclientrandlib nshalpal)
leothedragon 0:8f0bb79ddd48 228 target_link_libraries(mbedclientrandlib nshalpal)
leothedragon 0:8f0bb79ddd48 229
leothedragon 0:8f0bb79ddd48 230 # libservice is needed for ns-list and nsdynmem, so add dependencies for that
leothedragon 0:8f0bb79ddd48 231 add_library(mbedcoap STATIC "${MBED_COAP_SRC}")
leothedragon 0:8f0bb79ddd48 232 add_dependencies(mbedcoap nanostacklibservice mbedTrace mbedclientrandlib)
leothedragon 0:8f0bb79ddd48 233 target_link_libraries(mbedcoap nanostacklibservice mbedTrace mbedclientrandlib)
leothedragon 0:8f0bb79ddd48 234
leothedragon 0:8f0bb79ddd48 235 add_library(mbedclient STATIC "${MBED_CLIENT_SRC}")
leothedragon 0:8f0bb79ddd48 236 add_dependencies(mbedclient nanostacklibservice nanostackeventloop mbedcoap mbedTrace)
leothedragon 0:8f0bb79ddd48 237 target_link_libraries(mbedclient nanostacklibservice nanostackeventloop mbedcoap mbedTrace)
leothedragon 0:8f0bb79ddd48 238
leothedragon 0:8f0bb79ddd48 239 CREATE_LIBRARY(mbedCloudClient "${MBED_CLOUD_CLIENT_SRC}" "")
leothedragon 0:8f0bb79ddd48 240
leothedragon 0:8f0bb79ddd48 241 # Create buld dependencies to ensure all the needed parts get build
leothedragon 0:8f0bb79ddd48 242 add_dependencies(mbedCloudClient pal factory-configurator-client esfs mbedTrace nanostacklibservice nanostackeventloop mbedclient certificate-enrollment-client update-client)
leothedragon 0:8f0bb79ddd48 243
leothedragon 0:8f0bb79ddd48 244 # Add linking dependency for all the subcomponents of mbedCloudClient. This allows one to
leothedragon 0:8f0bb79ddd48 245 # just have "target_link_libraries(<client-application> mbedCloudClient)" and cmake will
leothedragon 0:8f0bb79ddd48 246 # automatically build all the submodules.
leothedragon 0:8f0bb79ddd48 247 target_link_libraries(mbedCloudClient pal factory-configurator-client esfs mbedTrace nanostacklibservice nanostackeventloop mbedclient certificate-enrollment-client update-client)
leothedragon 0:8f0bb79ddd48 248
leothedragon 0:8f0bb79ddd48 249 ADDSUBDIRS()
leothedragon 0:8f0bb79ddd48 250