• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#===============================================================================
2# @brief    cmake file
3# Copyright (c) 2020 HiSilicon (Shanghai) Technologies CO., LIMITED.
4#===============================================================================
5set(COMPONENT_NAME "lwip")
6
7set(CMAKE_LWIP_SOURCE_DIR
8    ${CMAKE_CURRENT_SOURCE_DIR}/lwip_v2.1.3)
9if("liteos_208_6_0_b017_cat1" IN_LIST TARGET_COMPONENT)
10    set(CMAKE_LWIP_ADAPTER_DIR
11        ${CMAKE_CURRENT_SOURCE_DIR}/lwip_adapter/liteos_207)
12elseif("liteos_208_5_0" IN_LIST TARGET_COMPONENT)
13    set(CMAKE_LWIP_ADAPTER_DIR
14        ${CMAKE_CURRENT_SOURCE_DIR}/lwip_adapter/liteos_207)
15elseif("liteos_207_0_0" IN_LIST TARGET_COMPONENT)
16    set(CMAKE_LWIP_ADAPTER_DIR
17        ${CMAKE_CURRENT_SOURCE_DIR}/lwip_adapter/liteos_207)
18elseif("liteos_206" IN_LIST TARGET_COMPONENT)
19    set(CMAKE_LWIP_ADAPTER_DIR
20        ${CMAKE_CURRENT_SOURCE_DIR}/lwip_adapter/liteos_206)
21elseif("freertos" IN_LIST TARGET_COMPONENT)
22    set(CMAKE_LWIP_ADAPTER_DIR
23        ${CMAKE_CURRENT_SOURCE_DIR}/lwip_adapter/freertos)
24elseif("alios_v3.3.0" IN_LIST TARGET_COMPONENT)
25    set(CMAKE_LWIP_ADAPTER_DIR
26        ${CMAKE_CURRENT_SOURCE_DIR}/lwip_adapter/alios)
27endif()
28
29set(CMAKE_LITEOS_DIR_V207
30    ${CMAKE_SOURCE_DIR}/kernel/liteos/liteos_v207.0.0)
31
32set(SOURCES
33    ${CMAKE_LWIP_SOURCE_DIR}/src/core/tcp_out.c
34    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/autoip.c
35    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/dhcps.c
36    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/igmp.c
37    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/icmp.c
38    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/dhcp.c
39    ${CMAKE_LWIP_SOURCE_DIR}/src/core/lowpower.c
40    ${CMAKE_LWIP_SOURCE_DIR}/src/core/timeouts.c
41    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ip6in4.c
42    ${CMAKE_LWIP_SOURCE_DIR}/src/core/debug.c
43    ${CMAKE_LWIP_SOURCE_DIR}/src/core/mdns.c
44    ${CMAKE_LWIP_SOURCE_DIR}/src/core/tcp_sack.c
45    ${CMAKE_LWIP_SOURCE_DIR}/src/core/tcp_in.c
46    ${CMAKE_LWIP_SOURCE_DIR}/src/core/altcp.c
47    ${CMAKE_LWIP_SOURCE_DIR}/src/core/tftpc.c
48    ${CMAKE_LWIP_SOURCE_DIR}/src/core/filter.c
49    ${CMAKE_LWIP_SOURCE_DIR}/src/core/sntp.c
50    ${CMAKE_LWIP_SOURCE_DIR}/src/core/altcp_tcp.c
51    ${CMAKE_LWIP_SOURCE_DIR}/src/core/def.c
52    ${CMAKE_LWIP_SOURCE_DIR}/src/core/dns.c
53    ${CMAKE_LWIP_SOURCE_DIR}/src/core/stats.c
54    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/inet6.c
55    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/mld6.c
56    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/icmp6.c
57    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/dhcp6.c
58    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/ip6_frag.c
59    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/ip6_addr.c
60    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/ethip6.c
61    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/nd6.c
62    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv6/ip6.c
63    ${CMAKE_LWIP_SOURCE_DIR}/src/core/init.c
64    ${CMAKE_LWIP_SOURCE_DIR}/src/core/sys.c
65    ${CMAKE_LWIP_SOURCE_DIR}/src/core/nat64/nat64_addr.c
66    ${CMAKE_LWIP_SOURCE_DIR}/src/core/nat64/nat64_dns64.c
67    ${CMAKE_LWIP_SOURCE_DIR}/src/core/nat64/nat64_v4_dhcpc.c
68    ${CMAKE_LWIP_SOURCE_DIR}/src/core/nat64/nat64.c
69    ${CMAKE_LWIP_SOURCE_DIR}/src/core/altcp_alloc.c
70    ${CMAKE_LWIP_SOURCE_DIR}/src/netif/ifaddrs.c
71    ${CMAKE_LWIP_SOURCE_DIR}/src/netif/lowpan6_common.c
72    ${CMAKE_LWIP_SOURCE_DIR}/src/netif/lowpan6.c
73    ${CMAKE_LWIP_SOURCE_DIR}/src/api/if_api.c
74    ${CMAKE_LWIP_SOURCE_DIR}/src/api/netifapi.c
75    ${CMAKE_LWIP_SOURCE_DIR}/src/api/l3event.c
76    ${CMAKE_LWIP_SOURCE_DIR}/src/api/err.c
77    ${CMAKE_LWIP_SOURCE_DIR}/src/api/nat64_api.c
78    ${CMAKE_LWIP_SOURCE_DIR}/src/api/ethtool.c
79    ${CMAKE_LWIP_SOURCE_DIR}/src/api/netdb.c
80    ${CMAKE_LWIP_SOURCE_DIR}/src/api/nettool/ping.c
81    ${CMAKE_LWIP_SOURCE_DIR}/src/api/nettool/misc.c
82    ${CMAKE_LWIP_SOURCE_DIR}/src/api/nettool/ifconfig.c
83    ${CMAKE_LWIP_SOURCE_DIR}/src/api/nettool/utility.c
84    ${CMAKE_LWIP_SOURCE_DIR}/src/api/nettool/netstat.c
85)
86
87set(PUBLIC_HEADER
88    ${CMAKE_LWIP_SOURCE_DIR}/src/include
89    ${CMAKE_LWIP_ADAPTER_DIR}/src/include/lwip
90    ${CMAKE_LWIP_ADAPTER_DIR}/src/include
91)
92
93set(PRIVATE_HEADER
94    ${CMAKE_LWIP_SOURCE_DIR}/src/include
95    ${CMAKE_LWIP_SOURCE_DIR}/src/include/lwip/nettool
96    ${ROOT_DIR}/include/middleware/services/wifi
97)
98
99if("__ALIOS__" IN_LIST DEFINES)
100    list(APPEND PRIVATE_HEADER
101        ${ROOT_DIR}/kernel/alios/utils/libc/musl_1.2.3/include
102        ${ROOT_DIR}/kernel/alios/utils/libc/adapt/include
103        ${ROOT_DIR}/kernel/alios/utils/libc/adapt/musl_1.2.3/include
104    )
105endif()
106
107set(PRIVATE_DEFINES
108    LOSCFG_BASE_CORE_USE_MULTI_LIST
109)
110
111set(PUBLIC_DEFINES
112    LWIP_CONFIG_FILE=\"lwip/lwipopts_default.h\"
113)
114
115# use this when you want to add ccflags like -include xxx
116set(COMPONENT_PUBLIC_CCFLAGS
117)
118
119set(COMPONENT_CCFLAGS
120    -Wno-error=logical-op
121    -Wno-error=sign-compare
122    -Wno-error=jump-misses-init
123    -Wno-sign-compare
124    -Wno-jump-misses-init
125    -Wno-error=unused-parameter
126    -Wno-unused-parameter
127    -Wno-unused-but-set-variable
128    -Wno-error=unused-variable
129)
130
131set(WHOLE_LINK
132    true
133)
134
135set(MAIN_COMPONENT
136    false
137)
138
139set(LIB_OUT_PATH ${BIN_DIR}/${CHIP}/libs/wifi/${TARGET_COMMAND})
140
141build_component()
142
143set(COMPONENT_NAME "lwip_tcm")
144set(SOURCES
145    ${CMAKE_LWIP_SOURCE_DIR}/src/api/sockets.c
146    ${CMAKE_LWIP_SOURCE_DIR}/src/core/inet_chksum.c
147    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ip.c
148    ${CMAKE_LWIP_SOURCE_DIR}/src/core/udp.c
149    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/etharp.c
150    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/ip4.c
151    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/ip4_addr.c
152    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ipv4/ip4_frag.c
153    ${CMAKE_LWIP_SOURCE_DIR}/src/core/ip_addr.c
154    ${CMAKE_LWIP_SOURCE_DIR}/src/core/pbuf.c
155    ${CMAKE_LWIP_SOURCE_DIR}/src/core/mem.c
156    ${CMAKE_LWIP_SOURCE_DIR}/src/core/memp.c
157    ${CMAKE_LWIP_SOURCE_DIR}/src/core/netif.c
158    ${CMAKE_LWIP_SOURCE_DIR}/src/core/tcp.c
159    ${CMAKE_LWIP_SOURCE_DIR}/src/core/raw.c
160    ${CMAKE_LWIP_SOURCE_DIR}/src/netif/ethernet.c
161    ${CMAKE_LWIP_SOURCE_DIR}/src/netif/driverif.c
162    ${CMAKE_LWIP_SOURCE_DIR}/src/api/netbuf.c
163    ${CMAKE_LWIP_SOURCE_DIR}/src/api/tcpip.c
164    ${CMAKE_LWIP_SOURCE_DIR}/src/api/api_msg.c
165    ${CMAKE_LWIP_SOURCE_DIR}/src/api/api_lib.c
166    ${CMAKE_LWIP_ADAPTER_DIR}/src/arch/sys_arch.c
167)
168
169set(COMPONENT_CCFLAGS
170    -Wno-error=logical-op
171    -Wno-error=sign-compare
172    -Wno-error=jump-misses-init
173    -Wno-sign-compare
174    -Wno-jump-misses-init
175    -Wno-error=unused-parameter
176    -Wno-unused-parameter
177    -Wno-unused-but-set-variable
178    -Wno-error=unused-variable
179)
180
181set(PRIVATE_HEADER
182    ${CMAKE_LWIP_SOURCE_DIR}/src/include
183    ${CMAKE_LWIP_SOURCE_DIR}/src/include/lwip/nettool
184    ${ROOT_DIR}/include/middleware/services/wifi
185)
186
187if("__ALIOS__" IN_LIST DEFINES)
188    list(APPEND PRIVATE_HEADER
189        ${ROOT_DIR}/kernel/alios/utils/libc/musl_1.2.3/include
190        ${ROOT_DIR}/kernel/alios/utils/libc/adapt/include
191        ${ROOT_DIR}/kernel/alios/utils/libc/adapt/musl_1.2.3/include
192    )
193endif()
194
195set(WHOLE_LINK
196    true
197)
198
199set(LIB_OUT_PATH ${BIN_DIR}/${CHIP}/libs/wifi/${TARGET_COMMAND})
200
201build_component()
202