Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
simple-mbed-cloud-client/mbed-cloud-client/update-client-hub/CMakeLists.txt@0:8f0bb79ddd48, 2021-05-04 (annotated)
- Committer:
- leothedragon
- Date:
- Tue May 04 08:55:12 2021 +0000
- Revision:
- 0:8f0bb79ddd48
nmn
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
leothedragon | 0:8f0bb79ddd48 | 1 | INCLUDE(CMakeForceCompiler) |
leothedragon | 0:8f0bb79ddd48 | 2 | # CROSS COMPILER SETTING |
leothedragon | 0:8f0bb79ddd48 | 3 | cmake_minimum_required (VERSION 2.8) |
leothedragon | 0:8f0bb79ddd48 | 4 | SET(CMAKE_SYSTEM_NAME Generic) |
leothedragon | 0:8f0bb79ddd48 | 5 | |
leothedragon | 0:8f0bb79ddd48 | 6 | SET(UPDATE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) |
leothedragon | 0:8f0bb79ddd48 | 7 | |
leothedragon | 0:8f0bb79ddd48 | 8 | project(update-client) |
leothedragon | 0:8f0bb79ddd48 | 9 | |
leothedragon | 0:8f0bb79ddd48 | 10 | # Add just the base of update-client and the shared part of modules to global include path. |
leothedragon | 0:8f0bb79ddd48 | 11 | # This helps a lot in keeping the global include path small as the global includes really |
leothedragon | 0:8f0bb79ddd48 | 12 | # are given to every single source module, even though the include files themselves really |
leothedragon | 0:8f0bb79ddd48 | 13 | # are accessed by update-client with very clean and precise manner. |
leothedragon | 0:8f0bb79ddd48 | 14 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}) |
leothedragon | 0:8f0bb79ddd48 | 15 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/atomic-queue) |
leothedragon | 0:8f0bb79ddd48 | 16 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/common) |
leothedragon | 0:8f0bb79ddd48 | 17 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/metadata-header) |
leothedragon | 0:8f0bb79ddd48 | 18 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/control-center) |
leothedragon | 0:8f0bb79ddd48 | 19 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed) |
leothedragon | 0:8f0bb79ddd48 | 20 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/monitor) |
leothedragon | 0:8f0bb79ddd48 | 21 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/paal) |
leothedragon | 0:8f0bb79ddd48 | 22 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source) |
leothedragon | 0:8f0bb79ddd48 | 23 | ADD_GLOBALDIR(${UPDATE_SOURCE_DIR}/modules/source-http) |
leothedragon | 0:8f0bb79ddd48 | 24 | |
leothedragon | 0:8f0bb79ddd48 | 25 | include_directories(${UPDATE_SOURCE_DIR}/update-client-hub) |
leothedragon | 0:8f0bb79ddd48 | 26 | include_directories(${UPDATE_SOURCE_DIR}/modules/atomic-queue/atomic-queue) |
leothedragon | 0:8f0bb79ddd48 | 27 | include_directories(${UPDATE_SOURCE_DIR}/modules/common/update-client-common) |
leothedragon | 0:8f0bb79ddd48 | 28 | include_directories(${UPDATE_SOURCE_DIR}/modules/metadata-header/update-client-metadata-header) |
leothedragon | 0:8f0bb79ddd48 | 29 | include_directories(${UPDATE_SOURCE_DIR}/modules/resume-engine) |
leothedragon | 0:8f0bb79ddd48 | 30 | include_directories(${UPDATE_SOURCE_DIR}/modules/resume-engine/resume-engine) |
leothedragon | 0:8f0bb79ddd48 | 31 | include_directories(${UPDATE_SOURCE_DIR}/modules/control-center/update-client-control-center) |
leothedragon | 0:8f0bb79ddd48 | 32 | include_directories(${UPDATE_SOURCE_DIR}/modules/device-identity) |
leothedragon | 0:8f0bb79ddd48 | 33 | include_directories(${UPDATE_SOURCE_DIR}/modules/device-identity/pal4life-device-identity) |
leothedragon | 0:8f0bb79ddd48 | 34 | include_directories(${UPDATE_SOURCE_DIR}/modules/firmware-manager) |
leothedragon | 0:8f0bb79ddd48 | 35 | include_directories(${UPDATE_SOURCE_DIR}/modules/firmware-manager/update-client-firmware-manager) |
leothedragon | 0:8f0bb79ddd48 | 36 | include_directories(${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed/update-client-lwm2m) |
leothedragon | 0:8f0bb79ddd48 | 37 | include_directories(${UPDATE_SOURCE_DIR}/modules/manifest-manager) |
leothedragon | 0:8f0bb79ddd48 | 38 | include_directories(${UPDATE_SOURCE_DIR}/modules/manifest-manager/update-client-manifest-manager) |
leothedragon | 0:8f0bb79ddd48 | 39 | include_directories(${UPDATE_SOURCE_DIR}/modules/manifest-manager/source) |
leothedragon | 0:8f0bb79ddd48 | 40 | include_directories(${UPDATE_SOURCE_DIR}/modules/monitor/update-client-monitor) |
leothedragon | 0:8f0bb79ddd48 | 41 | include_directories(${UPDATE_SOURCE_DIR}/modules/paal-update-api) |
leothedragon | 0:8f0bb79ddd48 | 42 | include_directories(${UPDATE_SOURCE_DIR}/modules/paal-update-api/paal-update-api) |
leothedragon | 0:8f0bb79ddd48 | 43 | include_directories(${UPDATE_SOURCE_DIR}/modules/source/update-client-source) |
leothedragon | 0:8f0bb79ddd48 | 44 | include_directories(${UPDATE_SOURCE_DIR}/modules/source-http/update-client-source-http) |
leothedragon | 0:8f0bb79ddd48 | 45 | include_directories(${UPDATE_SOURCE_DIR}/modules/source-http-socket) |
leothedragon | 0:8f0bb79ddd48 | 46 | include_directories(${UPDATE_SOURCE_DIR}/modules/source-http-socket/update-client-source-http-socket) |
leothedragon | 0:8f0bb79ddd48 | 47 | include_directories(${UPDATE_SOURCE_DIR}/modules/source-manager) |
leothedragon | 0:8f0bb79ddd48 | 48 | include_directories(${UPDATE_SOURCE_DIR}/modules/source-manager/update-client-source-manager) |
leothedragon | 0:8f0bb79ddd48 | 49 | include_directories(${UPDATE_SOURCE_DIR}/modules/paal/update-client-paal) |
leothedragon | 0:8f0bb79ddd48 | 50 | include_directories(${UPDATE_SOURCE_DIR}/modules/pal-filesystem) |
leothedragon | 0:8f0bb79ddd48 | 51 | include_directories(${UPDATE_SOURCE_DIR}/modules/pal-filesystem/update-client-pal-filesystem) |
leothedragon | 0:8f0bb79ddd48 | 52 | include_directories(${UPDATE_SOURCE_DIR}/modules/pal-flashiap) |
leothedragon | 0:8f0bb79ddd48 | 53 | include_directories(${UPDATE_SOURCE_DIR}/modules/pal-flashiap/update-client-pal-flashiap) |
leothedragon | 0:8f0bb79ddd48 | 54 | include_directories(${UPDATE_SOURCE_DIR}/modules/pal-linux) |
leothedragon | 0:8f0bb79ddd48 | 55 | include_directories(${UPDATE_SOURCE_DIR}/modules/pal-linux/update-client-pal-linux) |
leothedragon | 0:8f0bb79ddd48 | 56 | |
leothedragon | 0:8f0bb79ddd48 | 57 | # XXX: currently only the Linux target builds out of the cmake environments, so |
leothedragon | 0:8f0bb79ddd48 | 58 | # let's ignore most of the code on other OS'. |
leothedragon | 0:8f0bb79ddd48 | 59 | # |
leothedragon | 0:8f0bb79ddd48 | 60 | # Note: the library needs to have _some_ source file in it, so on else branch |
leothedragon | 0:8f0bb79ddd48 | 61 | # the most generic ones are added to it. |
leothedragon | 0:8f0bb79ddd48 | 62 | # |
leothedragon | 0:8f0bb79ddd48 | 63 | # Note2: the created library is not really useful, but with it, the consumer side, |
leothedragon | 0:8f0bb79ddd48 | 64 | # eg. mbed-cloud-client and re-use the include declarations the library has and |
leothedragon | 0:8f0bb79ddd48 | 65 | # it does not need to have local include_directories() statements for cases when |
leothedragon | 0:8f0bb79ddd48 | 66 | # the update client is not really functional. |
leothedragon | 0:8f0bb79ddd48 | 67 | if (${OS_BRAND} MATCHES "Linux") |
leothedragon | 0:8f0bb79ddd48 | 68 | FILE(GLOB UPDATE_SRC |
leothedragon | 0:8f0bb79ddd48 | 69 | "${UPDATE_SOURCE_DIR}/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 70 | "${UPDATE_SOURCE_DIR}/modules/atomic-queue/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 71 | "${UPDATE_SOURCE_DIR}/modules/common/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 72 | "${UPDATE_SOURCE_DIR}/modules/metadata-header/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 73 | "${UPDATE_SOURCE_DIR}/modules/resume-engine/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 74 | "${UPDATE_SOURCE_DIR}/modules/control-center/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 75 | "${UPDATE_SOURCE_DIR}/modules/device-identity/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 76 | "${UPDATE_SOURCE_DIR}/modules/firmware-manager/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 77 | "${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed/source/*.cpp" |
leothedragon | 0:8f0bb79ddd48 | 78 | "${UPDATE_SOURCE_DIR}/modules/lwm2m-mbed/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 79 | "${UPDATE_SOURCE_DIR}/modules/manifest-manager/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 80 | "${UPDATE_SOURCE_DIR}/modules/source-http/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 81 | "${UPDATE_SOURCE_DIR}/modules/source-http-socket/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 82 | "${UPDATE_SOURCE_DIR}/modules/source-manager/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 83 | "${UPDATE_SOURCE_DIR}/modules/paal/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 84 | "${UPDATE_SOURCE_DIR}/modules/pal-filesystem/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 85 | "${UPDATE_SOURCE_DIR}/modules/pal-flashiap/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 86 | "${UPDATE_SOURCE_DIR}/modules/pal-flashiap/source/*.cpp" |
leothedragon | 0:8f0bb79ddd48 | 87 | "${UPDATE_SOURCE_DIR}/modules/pal-linux/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 88 | ) |
leothedragon | 0:8f0bb79ddd48 | 89 | else() |
leothedragon | 0:8f0bb79ddd48 | 90 | FILE(GLOB UPDATE_SRC |
leothedragon | 0:8f0bb79ddd48 | 91 | "${UPDATE_SOURCE_DIR}/source/*.c" |
leothedragon | 0:8f0bb79ddd48 | 92 | ) |
leothedragon | 0:8f0bb79ddd48 | 93 | endif() |
leothedragon | 0:8f0bb79ddd48 | 94 | |
leothedragon | 0:8f0bb79ddd48 | 95 | # log the source list as other components do. Sometimes this is useful. |
leothedragon | 0:8f0bb79ddd48 | 96 | message("update-client = ${UPDATE_SRC}") |
leothedragon | 0:8f0bb79ddd48 | 97 | |
leothedragon | 0:8f0bb79ddd48 | 98 | # create a library and describe its dependencies |
leothedragon | 0:8f0bb79ddd48 | 99 | add_library(update-client STATIC "${UPDATE_SRC}") |
leothedragon | 0:8f0bb79ddd48 | 100 | add_dependencies(update-client mbedclient mbedTrace mbedcrypto mbedx509) |
leothedragon | 0:8f0bb79ddd48 | 101 | target_link_libraries(update-client mbedclient mbedTrace mbedcrypto mbedx509) |
leothedragon | 0:8f0bb79ddd48 | 102 | |
leothedragon | 0:8f0bb79ddd48 | 103 | # add pal dependency only for full client builds |
leothedragon | 0:8f0bb79ddd48 | 104 | if (NOT ${BUILD_TYPE} STREQUAL "client-lite") |
leothedragon | 0:8f0bb79ddd48 | 105 | add_dependencies(update-client pal) |
leothedragon | 0:8f0bb79ddd48 | 106 | target_link_libraries(update-client pal) |
leothedragon | 0:8f0bb79ddd48 | 107 | endif() |