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.
This application contains the example codes to:
1) Connect PFM-M487/PFM-NUC472 boards to Pelion
2) Enable Firmware update
For storage, PFM-M487/PFM-NUC472 support both SPI interface SD and built-in SD bus SD.
For connectivity, PFM-M487/PFM-NUC472 support Ethernet (on-board) by default.
This example supports Ethernet and built-in SD by default.

simple-mbed-cloud-client/mbed-cloud-client/mbed-client-pal/CMakeLists.txt@0:83caa8fa1d2c, 2018-07-06 (annotated)
- Committer:
- cyliang
- Date:
- Fri Jul 06 04:15:24 2018 +0000
- Revision:
- 0:83caa8fa1d2c
Support cloud client v1.3.3
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| cyliang | 0:83caa8fa1d2c | 1 | if(NOT YOTTA_TARGET) |
| cyliang | 0:83caa8fa1d2c | 2 | INCLUDE(CMakeForceCompiler) |
| cyliang | 0:83caa8fa1d2c | 3 | # CROSS COMPILER SETTING |
| cyliang | 0:83caa8fa1d2c | 4 | cmake_minimum_required (VERSION 2.8) |
| cyliang | 0:83caa8fa1d2c | 5 | SET(CMAKE_SYSTEM_NAME Generic) |
| cyliang | 0:83caa8fa1d2c | 6 | |
| cyliang | 0:83caa8fa1d2c | 7 | project(mbedPal) |
| cyliang | 0:83caa8fa1d2c | 8 | |
| cyliang | 0:83caa8fa1d2c | 9 | |
| cyliang | 0:83caa8fa1d2c | 10 | macro(SET_COMPILER_DBG_RLZ_FLAG flag value) |
| cyliang | 0:83caa8fa1d2c | 11 | SET(${flag}_DEBUG "${${flag}_DEBUG} ${value}") |
| cyliang | 0:83caa8fa1d2c | 12 | SET(${flag}_RELEASE "${${flag}_RELEASE} ${value}") |
| cyliang | 0:83caa8fa1d2c | 13 | #enable this if for debugging |
| cyliang | 0:83caa8fa1d2c | 14 | if (0) |
| cyliang | 0:83caa8fa1d2c | 15 | message("flag = ${flag}") |
| cyliang | 0:83caa8fa1d2c | 16 | message("value = ${value}") |
| cyliang | 0:83caa8fa1d2c | 17 | message("MY_C_FLAGS_RELEASE2 = ${CMAKE_C_FLAGS_RELEASE}") |
| cyliang | 0:83caa8fa1d2c | 18 | endif(0) # comment end |
| cyliang | 0:83caa8fa1d2c | 19 | endmacro(SET_COMPILER_DBG_RLZ_FLAG) |
| cyliang | 0:83caa8fa1d2c | 20 | |
| cyliang | 0:83caa8fa1d2c | 21 | if(DISALLOW_WARNINGS) |
| cyliang | 0:83caa8fa1d2c | 22 | if (CMAKE_C_COMPILER_ID STREQUAL "GNU") |
| cyliang | 0:83caa8fa1d2c | 23 | SET_COMPILER_DBG_RLZ_FLAG (CMAKE_C_FLAGS "-Werror") |
| cyliang | 0:83caa8fa1d2c | 24 | SET_COMPILER_DBG_RLZ_FLAG (CMAKE_CXX_FLAGS "-Werror") |
| cyliang | 0:83caa8fa1d2c | 25 | endif() |
| cyliang | 0:83caa8fa1d2c | 26 | endif() |
| cyliang | 0:83caa8fa1d2c | 27 | |
| cyliang | 0:83caa8fa1d2c | 28 | SET (PAL_VERSION ${PAL_VERSION_MAJOR}.${PAL_VERSION_MINOR}.${PAL_VERSION_PATCH}) |
| cyliang | 0:83caa8fa1d2c | 29 | |
| cyliang | 0:83caa8fa1d2c | 30 | # configure a header file generator .in to pass some of the CMake settings |
| cyliang | 0:83caa8fa1d2c | 31 | # to the source code |
| cyliang | 0:83caa8fa1d2c | 32 | configure_file ( |
| cyliang | 0:83caa8fa1d2c | 33 | "${PROJECT_SOURCE_DIR}/pal_version.h.in" |
| cyliang | 0:83caa8fa1d2c | 34 | "${PROJECT_BINARY_DIR}/pal_version.h" |
| cyliang | 0:83caa8fa1d2c | 35 | ) |
| cyliang | 0:83caa8fa1d2c | 36 | |
| cyliang | 0:83caa8fa1d2c | 37 | if ((${OS_BRAND} MATCHES "Linux")) |
| cyliang | 0:83caa8fa1d2c | 38 | add_definitions(-DPAL_LINUX) |
| cyliang | 0:83caa8fa1d2c | 39 | endif() |
| cyliang | 0:83caa8fa1d2c | 40 | |
| cyliang | 0:83caa8fa1d2c | 41 | MACRO(HEADER_DIRECTORIES return_list) |
| cyliang | 0:83caa8fa1d2c | 42 | FILE(GLOB_RECURSE new_list ${CMAKE_CURRENT_SOURCE_DIR}/Configs/pal_config/${OS_BRAND}/*.h) |
| cyliang | 0:83caa8fa1d2c | 43 | SET(dir_list "") |
| cyliang | 0:83caa8fa1d2c | 44 | FOREACH(file_path ${new_list}) |
| cyliang | 0:83caa8fa1d2c | 45 | GET_FILENAME_COMPONENT(dir_path ${file_path} PATH) |
| cyliang | 0:83caa8fa1d2c | 46 | SET(dir_list ${dir_list} ${dir_path}) |
| cyliang | 0:83caa8fa1d2c | 47 | ENDFOREACH() |
| cyliang | 0:83caa8fa1d2c | 48 | LIST(REMOVE_DUPLICATES dir_list) |
| cyliang | 0:83caa8fa1d2c | 49 | SET(${return_list} ${dir_list}) |
| cyliang | 0:83caa8fa1d2c | 50 | ENDMACRO() |
| cyliang | 0:83caa8fa1d2c | 51 | |
| cyliang | 0:83caa8fa1d2c | 52 | set(config_list "") |
| cyliang | 0:83caa8fa1d2c | 53 | HEADER_DIRECTORIES(config_list) |
| cyliang | 0:83caa8fa1d2c | 54 | foreach(config_dir ${config_list}) |
| cyliang | 0:83caa8fa1d2c | 55 | ADD_GLOBALDIR("${config_dir}") |
| cyliang | 0:83caa8fa1d2c | 56 | endforeach() |
| cyliang | 0:83caa8fa1d2c | 57 | |
| cyliang | 0:83caa8fa1d2c | 58 | ADD_GLOBALDIR(${CMAKE_CURRENT_SOURCE_DIR}/Configs/pal_config) |
| cyliang | 0:83caa8fa1d2c | 59 | |
| cyliang | 0:83caa8fa1d2c | 60 | # add the binary tree to the search path for include files |
| cyliang | 0:83caa8fa1d2c | 61 | # so that we will find TutorialConfig.h???????????????????????????????????????????????????????????????????????????? |
| cyliang | 0:83caa8fa1d2c | 62 | ADDSUBDIRS() |
| cyliang | 0:83caa8fa1d2c | 63 | else() |
| cyliang | 0:83caa8fa1d2c | 64 | set(OS_BRAND "Linux") |
| cyliang | 0:83caa8fa1d2c | 65 | set(TLS_LIBRARY "mbedTLS") |
| cyliang | 0:83caa8fa1d2c | 66 | set(PAL_MODULE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Source) |
| cyliang | 0:83caa8fa1d2c | 67 | |
| cyliang | 0:83caa8fa1d2c | 68 | # find source files from the relavent directories |
| cyliang | 0:83caa8fa1d2c | 69 | set(PAL_IMPL_SOURCE_DIR ${PAL_MODULE_SOURCE_DIR}/PAL-Impl) |
| cyliang | 0:83caa8fa1d2c | 70 | set(PAL_PORT_SOURCE_DIR ${PAL_MODULE_SOURCE_DIR}/Port/Reference-Impl/OS_Specific/${OS_BRAND}) |
| cyliang | 0:83caa8fa1d2c | 71 | set(PAL_TLS_SOURCE_DIR ${PAL_MODULE_SOURCE_DIR}/Port/Reference-Impl/Lib_Specific/${TLS_LIBRARY}) |
| cyliang | 0:83caa8fa1d2c | 72 | set(PAL_EXAMPLE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Examples/PlatformBSP) |
| cyliang | 0:83caa8fa1d2c | 73 | |
| cyliang | 0:83caa8fa1d2c | 74 | file(GLOB_RECURSE PAL_SRCS "${PAL_IMPL_SOURCE_DIR}/*.c" |
| cyliang | 0:83caa8fa1d2c | 75 | "${PAL_PORT_SOURCE_DIR}/Storage/FileSystem/*.c" |
| cyliang | 0:83caa8fa1d2c | 76 | "${PAL_PORT_SOURCE_DIR}/Storage/Flash/*.c" |
| cyliang | 0:83caa8fa1d2c | 77 | "${PAL_PORT_SOURCE_DIR}/Networking/*.c" |
| cyliang | 0:83caa8fa1d2c | 78 | "${PAL_PORT_SOURCE_DIR}/RTOS/*.c" |
| cyliang | 0:83caa8fa1d2c | 79 | "${PAL_PORT_SOURCE_DIR}/Update/*.c" |
| cyliang | 0:83caa8fa1d2c | 80 | "${PAL_PORT_SOURCE_DIR}/Board_Specific/${PAL_TARGET_DEVICE}/*.c" |
| cyliang | 0:83caa8fa1d2c | 81 | "${PAL_EXAMPLE_DIR}/pal_insecure_ROT.c" |
| cyliang | 0:83caa8fa1d2c | 82 | "${PAL_TLS_SOURCE_DIR}/*.c") |
| cyliang | 0:83caa8fa1d2c | 83 | |
| cyliang | 0:83caa8fa1d2c | 84 | add_library(${YOTTA_MODULE_NAME} ${PAL_SRCS}) |
| cyliang | 0:83caa8fa1d2c | 85 | |
| cyliang | 0:83caa8fa1d2c | 86 | # need to specify the yotta dependency here, otherwise yotta won't consider them when linking against this library |
| cyliang | 0:83caa8fa1d2c | 87 | target_link_libraries(${YOTTA_MODULE_NAME} mbedtls mbed-trace) |
| cyliang | 0:83caa8fa1d2c | 88 | |
| cyliang | 0:83caa8fa1d2c | 89 | # includes are taken care of via the module.json extraIncludes mechanism in order to be global |
| cyliang | 0:83caa8fa1d2c | 90 | # link libraries are handled by the module.josn dependencies mechanism |
| cyliang | 0:83caa8fa1d2c | 91 | endif() |