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