Jim Carver
/
mbed-cloud-workshop-connect
Fork for workshops
Diff: simple-mbed-cloud-client/mbed-cloud-client/CMakeLists.txt
- Revision:
- 0:6b753f761943
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/simple-mbed-cloud-client/mbed-cloud-client/CMakeLists.txt Fri Oct 12 21:22:49 2018 +0000 @@ -0,0 +1,236 @@ +INCLUDE(CMakeForceCompiler) +# CROSS COMPILER SETTING +cmake_minimum_required (VERSION 2.8) +SET(CMAKE_SYSTEM_NAME Generic) + +add_definitions(-DTARGET_LIKE_POSIX) + +if (${OS_BRAND} MATCHES Linux) + add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=102400) +else() + add_definitions(-DMBED_CONF_NS_HAL_PAL_EVENT_LOOP_THREAD_STACK_SIZE=8000) +endif() + + +SET(MBED_CLOUD_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mbed-cloud-client) + +add_definitions(-DMBED_CONF_NANOSTACK_EVENTLOOP_EXCLUDE_HIGHRES_TIMER) +add_definitions(-DMBED_CONF_NANOSTACK_EVENTLOOP_USE_PLATFORM_TICK_TIMER) + +project(mbedCloudClient) + +# mbed-cloud-client + +ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}) +ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/source) +ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/source/include) +ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/mbed-cloud-client) +ADD_GLOBALDIR( ${CMAKE_CURRENT_SOURCE_DIR}/mbed-client) + +# mbed-client + +SET(MBED_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mbed-client) + +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/source) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/source/include) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-c) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-c/nsdl-c) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-c/source/include) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-classic) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-classic/mbed-client-classic) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-mbed-tls) +ADD_GLOBALDIR(${MBED_CLIENT_SOURCE_DIR}/mbed-client-mbed-tls/mbed-client-mbedtls) + +# pal headers + +SET(PAL_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-pal/Source) +ADD_GLOBALDIR(${PAL_SOURCE_DIR}/PAL-Impl/Services-API) +ADD_GLOBALDIR(${PAL_SOURCE_DIR}/Port/Platform-API) + +# common components + +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap/mbed-coap) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap/source/include) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-trace) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-trace/mbed-trace) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib/mbed-client-randlib) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib/mbed-client-randlib/platform) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/mbed-client-libservice) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/mbed-client-libservice/platform) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/nanostack-event-loop) +ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal) + +# factory-client + +SET(FACTORY_CLIENT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/factory-configurator-client) +ADD_GLOBALDIR(${FACTORY_CLIENT_SOURCE_DIR}/factory-configurator-client) + +SET(FCC_MODULES + ftcd-comm-base + ftcd-comm-socket + crypto-service + key-config-manager + factory-configurator-client + fcc-bundle-handler + secsrv-cbor + logger + storage + utils + mbed-trace-helper + fcc-output-info-handler + mbed-client-esfs +) + +# includes +FOREACH(module ${FCC_MODULES}) + ADD_GLOBALDIR(${FACTORY_CLIENT_SOURCE_DIR}/${module}/${module}) + ADD_GLOBALDIR(${FACTORY_CLIENT_SOURCE_DIR}/${module}/source/include) +ENDFOREACH() + +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/factory-configurator-client/source/include) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/factory-configurator-client/factory-configurator-client) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fc_protocol_handler/fc_protocol_handler) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fc_protocol_handler/source/include) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/secure_store) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/secure_store/secure_store) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/storage) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/storage/storage) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/key-config-manager) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/key-config-manager/source/include) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/utils) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/utils/utils) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/logger) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/logger/logger) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source/include) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source-pal/api) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source-pal/linux) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/crypto-service/crypto-service) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/crypto-service/source/include) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/secsrv-cbor/secsrv-cbor) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fcc-bundle-handler/fcc-bundle-handler) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fcc-bundle-handler/source/include) +include_directories(${FACTORY_CLIENT_SOURCE_DIR}/fcc-output-info-handler/fcc-output-info-handler) + +# update-client + +SET(UPDATE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/update-client-hub) + +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/update-client-hub) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/atomic-queue) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/atomic-queue/atomic-queue) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/common) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/common/update-client-common) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/resume-engine) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/resume-engine/resume-engine) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/control-center) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/control-center/update-client-control-center) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/device-identity) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/device-identity/pal4life-device-identity) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/firmware-manager) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/firmware-manager/update-client-firmware-manager) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed/update-client-lwm2m) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/manifest-manager) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/manifest-manager/update-client-manifest-manager) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/manifest-manager/source) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/monitor) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/monitor/update-client-monitor) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/paal-update-api) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/paal-update-api/paal-update-api) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source/update-client-source) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-http) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-http/update-client-source-http) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-http-socket) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-http-socket/update-client-source-http-socket) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-manager) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-manager/update-client-source-manager) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/paal) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/paal/update-client-paal) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/pal-filesystem) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/pal-filesystem/update-client-pal-filesystem) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/pal-flashiap) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/pal-flashiap/update-client-pal-flashiap) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/pal-linux) +ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/pal-linux/update-client-pal-linux) + +FILE(GLOB MBED_CLOUD_CLIENT_SRC + "${CMAKE_CURRENT_SOURCE_DIR}/source/*.c" + "${CMAKE_CURRENT_SOURCE_DIR}/source/*.cpp" + "${MBED_CLIENT_SOURCE_DIR}/source/*.cpp" + "${MBED_CLIENT_SOURCE_DIR}/source/*.c" + "${MBED_CLIENT_SOURCE_DIR}/mbed-client-c/source/*.c" + "${MBED_CLIENT_SOURCE_DIR}/mbed-client-classic/source/*.cpp" + "${MBED_CLIENT_SOURCE_DIR}/mbed-client-mbed-tls/source/*.cpp" + + "${CMAKE_CURRENT_SOURCE_DIR}/mbed-coap/source/*.c" + + "${CMAKE_CURRENT_SOURCE_DIR}/mbed-client-randlib/source/*.c" + + "${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/source/*.c" + "${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/source/*.h" + "${CMAKE_CURRENT_SOURCE_DIR}/sal-stack-nanostack-eventloop/source/*.cpp" + + "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/libBits/common_functions.c" + "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/libList/*.c" + "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/nsdynmemLIB/*.c" + "${CMAKE_CURRENT_SOURCE_DIR}/nanostack-libservice/source/libip6string/ip6tos.c" + + "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/ns_event_loop.c" +if ((${OS_BRAND} MATCHES "FreeRTOS")) + "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/arm_hal_random.c" +endif() + "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/ns_hal_init.c" + "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/arm_hal_interrupt.c" + "${CMAKE_CURRENT_SOURCE_DIR}/ns-hal-pal/arm_hal_timer.cpp" + "${FACTORY_CLIENT_SOURCE_DIR}/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/storage/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/secure_store/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/key-config-manager/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/utils/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/logger/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source-pal/linux/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/mbed-client-esfs/source-pal/linux/*.cpp" + "${FACTORY_CLIENT_SOURCE_DIR}/crypto-service/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/fcc-bundle-handler/source/*.c" + "${FACTORY_CLIENT_SOURCE_DIR}/fcc-output-info-handler/source/*.c" + ) + +if ((${OS_BRAND} MATCHES "Linux")) + FILE(GLOB UPDATE_SRC + "${UPDATE_SOURCE_DIR}/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/atomic-queue/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/common/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/resume-engine/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/control-center/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/device-identity/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/firmware-manager/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed/source/*.cpp" + "${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/manifest-manager/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/source-http/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/source-http-socket/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/source-manager/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/paal/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/pal-filesystem/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/pal-flashiap/source/*.c" + "${UPDATE_SOURCE_DIR}/modules/pal-flashiap/source/*.cpp" + "${UPDATE_SOURCE_DIR}/modules/pal-linux/source/*.c" + ) +endif() + +list(APPEND MBED_CLOUD_CLIENT_SRC ${UPDATE_SRC}) +message(status "Mbed Cloud Client sources = \n ${MBED_CLOUD_CLIENT_SRC}") + +CREATE_LIBRARY(mbedCloudClient "${MBED_CLOUD_CLIENT_SRC}" "") +add_dependencies(mbedCloudClient mbedtls) + +ADDSUBDIRS()