1#=============================================================================== 2# @brief libcoap cmake file 3# Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2024-2024. All rights reserved. 4#=============================================================================== 5set(COMPONENT_NAME "coap") 6 7set(CMAKE_COAP_SOURCE_DIR 8 ${CMAKE_DIR}/../../open_source/libcoap/libcoap) 9 10set(SOURCES 11 ${CMAKE_COAP_SOURCE_DIR}/src/coap_block.c 12 ${CMAKE_COAP_SOURCE_DIR}/src/coap_hashkey.c 13 ${CMAKE_COAP_SOURCE_DIR}/src/coap_io_lwip.c 14 ${CMAKE_COAP_SOURCE_DIR}/src/coap_session.c 15 ${CMAKE_COAP_SOURCE_DIR}/src/coap_encode.c 16 ${CMAKE_COAP_SOURCE_DIR}/src/coap_net.c 17 ${CMAKE_COAP_SOURCE_DIR}/src/coap_option.c 18 ${CMAKE_COAP_SOURCE_DIR}/src/coap_pdu.c 19 ${CMAKE_COAP_SOURCE_DIR}/src/coap_resource.c 20 ${CMAKE_COAP_SOURCE_DIR}/src/coap_str.c 21 ${CMAKE_COAP_SOURCE_DIR}/src/coap_subscribe.c 22 ${CMAKE_COAP_SOURCE_DIR}/src/coap_uri.c 23 ${CMAKE_COAP_SOURCE_DIR}/src/coap_debug.c 24 ${CMAKE_COAP_SOURCE_DIR}/src/coap_io.c 25 ${CMAKE_COAP_SOURCE_DIR}/src/coap_address.c 26 ${CMAKE_COAP_SOURCE_DIR}/src/coap_cache.c 27 ${CMAKE_COAP_SOURCE_DIR}/src/coap_netif.c 28 ${CMAKE_COAP_SOURCE_DIR}/src/coap_dtls.c 29 ${CMAKE_COAP_SOURCE_DIR}/src/coap_tcp.c 30 ${CMAKE_COAP_SOURCE_DIR}/src/coap_ws.c 31 ${CMAKE_COAP_SOURCE_DIR}/src/coap_layers.c 32 ${CMAKE_COAP_SOURCE_DIR}/src/coap_async.c 33 ${CMAKE_COAP_SOURCE_DIR}/src/coap_notls.c 34) 35 36set(PUBLIC_HEADER 37 ${CMAKE_COAP_SOURCE_DIR}/include/ 38 ${CMAKE_COAP_SOURCE_DIR}/ 39 ${CMAKE_COAP_SOURCE_DIR}/examples/lwip/config/ 40) 41 42set(PRIVATE_HEADER 43 ${CMAKE_COAP_SOURCE_DIR}/include/ 44 ${CMAKE_COAP_SOURCE_DIR}/ 45 ${CMAKE_COAP_SOURCE_DIR}/examples/lwip/config/ 46) 47 48set(PRIVATE_DEFINES 49 LIB_CONFIGURABLE 50 WITH_LWIP 51 MEMP_USE_CUSTOM_POOLS=1 52 LWIP_NOASSERT 53 LOG_WARNING=4 54 HASH_NONFATAL_OOM=1 55 COAP_MAX_LOGGING_LEVEL=0 56 COAP_CONSTRAINED_STACK=0 57) 58 59set(PUBLIC_DEFINES 60 #MEMP_USE_CUSTOM_POOLS=1 61) 62if(${COMPONENT_NAME} IN_LIST TARGET_COMPONENT) 63 set(FILE_TO_CHECK ${CMAKE_COAP_SOURCE_DIR}/include/coap3/coap.h) 64 if (NOT EXISTS ${FILE_TO_CHECK}) 65 set(SOURCE_FILE ${CMAKE_COAP_SOURCE_DIR}/include/coap3/coap.h.windows) 66 set(DESTINATION_FILE ${CMAKE_COAP_SOURCE_DIR}/include/coap3/coap.h) 67 file(RENAME ${SOURCE_FILE} ${DESTINATION_FILE}) 68 endif() 69endif() 70 71# use this when you want to add ccflags like -include xxx 72set(COMPONENT_PUBLIC_CCFLAGS 73) 74 75set(COMPONENT_CCFLAGS 76 -Wno-missing-prototypes 77 -Wno-unused-parameter 78 -Wno-strict-prototypes 79 -Wno-implicit-function-declaration 80 -Wno-missing-declarations 81 -Wno-sign-compare 82 -Wno-int-conversion 83 -Wno-unused-label 84 -Wno-unused-function 85 -Wno-error=logical-op 86 -Wno-error=return-type 87 -Wno-error=jump-misses-init 88) 89 90set(WHOLE_LINK 91 true 92) 93 94set(MAIN_COMPONENT 95 false 96) 97if(${COMPONENT_NAME} IN_LIST TARGET_COMPONENT) 98 build_component() 99endif()