• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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()