CMakeLists.txt 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. set(include_dirs
  2. include/apps
  3. include/apps/sntp
  4. lwip/src/include
  5. port/esp32/include
  6. port/esp32/include/arch
  7. port/esp32/tcp_isn
  8. )
  9. set(srcs
  10. "apps/dhcpserver/dhcpserver.c"
  11. "apps/ping/esp_ping.c"
  12. "apps/ping/ping.c"
  13. "apps/ping/ping_sock.c"
  14. "apps/sntp/sntp.c"
  15. "lwip/src/api/api_lib.c"
  16. "lwip/src/api/api_msg.c"
  17. "lwip/src/api/err.c"
  18. "lwip/src/api/if_api.c"
  19. "lwip/src/api/netbuf.c"
  20. "lwip/src/api/netdb.c"
  21. "lwip/src/api/netifapi.c"
  22. "lwip/src/api/sockets.c"
  23. "lwip/src/api/tcpip.c"
  24. "lwip/src/apps/sntp/sntp.c"
  25. "lwip/src/apps/netbiosns/netbiosns.c"
  26. "lwip/src/core/def.c"
  27. "lwip/src/core/dns.c"
  28. "lwip/src/core/inet_chksum.c"
  29. "lwip/src/core/init.c"
  30. "lwip/src/core/ip.c"
  31. "lwip/src/core/mem.c"
  32. "lwip/src/core/memp.c"
  33. "lwip/src/core/netif.c"
  34. "lwip/src/core/pbuf.c"
  35. "lwip/src/core/raw.c"
  36. "lwip/src/core/stats.c"
  37. "lwip/src/core/sys.c"
  38. "lwip/src/core/tcp.c"
  39. "lwip/src/core/tcp_in.c"
  40. "lwip/src/core/tcp_out.c"
  41. "lwip/src/core/timeouts.c"
  42. "lwip/src/core/udp.c"
  43. "lwip/src/core/ipv4/autoip.c"
  44. "lwip/src/core/ipv4/dhcp.c"
  45. "lwip/src/core/ipv4/etharp.c"
  46. "lwip/src/core/ipv4/icmp.c"
  47. "lwip/src/core/ipv4/igmp.c"
  48. "lwip/src/core/ipv4/ip4.c"
  49. "lwip/src/core/ipv4/ip4_napt.c"
  50. "lwip/src/core/ipv4/ip4_addr.c"
  51. "lwip/src/core/ipv4/ip4_frag.c"
  52. "lwip/src/core/ipv6/dhcp6.c"
  53. "lwip/src/core/ipv6/ethip6.c"
  54. "lwip/src/core/ipv6/icmp6.c"
  55. "lwip/src/core/ipv6/inet6.c"
  56. "lwip/src/core/ipv6/ip6.c"
  57. "lwip/src/core/ipv6/ip6_addr.c"
  58. "lwip/src/core/ipv6/ip6_frag.c"
  59. "lwip/src/core/ipv6/mld6.c"
  60. "lwip/src/core/ipv6/nd6.c"
  61. "lwip/src/netif/ethernet.c"
  62. "lwip/src/netif/lowpan6.c"
  63. "lwip/src/netif/slipif.c"
  64. "lwip/src/netif/ppp/auth.c"
  65. "lwip/src/netif/ppp/ccp.c"
  66. "lwip/src/netif/ppp/chap-md5.c"
  67. "lwip/src/netif/ppp/chap-new.c"
  68. "lwip/src/netif/ppp/chap_ms.c"
  69. "lwip/src/netif/ppp/demand.c"
  70. "lwip/src/netif/ppp/eap.c"
  71. "lwip/src/netif/ppp/ecp.c"
  72. "lwip/src/netif/ppp/eui64.c"
  73. "lwip/src/netif/ppp/fsm.c"
  74. "lwip/src/netif/ppp/ipcp.c"
  75. "lwip/src/netif/ppp/ipv6cp.c"
  76. "lwip/src/netif/ppp/lcp.c"
  77. "lwip/src/netif/ppp/magic.c"
  78. "lwip/src/netif/ppp/mppe.c"
  79. "lwip/src/netif/ppp/multilink.c"
  80. "lwip/src/netif/ppp/ppp.c"
  81. "lwip/src/netif/ppp/pppapi.c"
  82. "lwip/src/netif/ppp/pppcrypt.c"
  83. "lwip/src/netif/ppp/pppoe.c"
  84. "lwip/src/netif/ppp/pppol2tp.c"
  85. "lwip/src/netif/ppp/pppos.c"
  86. "lwip/src/netif/ppp/upap.c"
  87. "lwip/src/netif/ppp/utils.c"
  88. "lwip/src/netif/ppp/vj.c"
  89. "port/esp32/debug/lwip_debug.c"
  90. "port/esp32/freertos/sys_arch.c"
  91. "port/esp32/netif/dhcp_state.c"
  92. "port/esp32/netif/wlanif.c")
  93. if(CONFIG_LWIP_PPP_SUPPORT)
  94. list(APPEND srcs
  95. "lwip/src/netif/ppp/auth.c"
  96. "lwip/src/netif/ppp/ccp.c"
  97. "lwip/src/netif/ppp/chap-md5.c"
  98. "lwip/src/netif/ppp/chap-new.c"
  99. "lwip/src/netif/ppp/chap_ms.c"
  100. "lwip/src/netif/ppp/demand.c"
  101. "lwip/src/netif/ppp/eap.c"
  102. "lwip/src/netif/ppp/ecp.c"
  103. "lwip/src/netif/ppp/eui64.c"
  104. "lwip/src/netif/ppp/fsm.c"
  105. "lwip/src/netif/ppp/ipcp.c"
  106. "lwip/src/netif/ppp/ipv6cp.c"
  107. "lwip/src/netif/ppp/lcp.c"
  108. "lwip/src/netif/ppp/magic.c"
  109. "lwip/src/netif/ppp/mppe.c"
  110. "lwip/src/netif/ppp/multilink.c"
  111. "lwip/src/netif/ppp/ppp.c"
  112. "lwip/src/netif/ppp/pppapi.c"
  113. "lwip/src/netif/ppp/pppcrypt.c"
  114. "lwip/src/netif/ppp/pppoe.c"
  115. "lwip/src/netif/ppp/pppol2tp.c"
  116. "lwip/src/netif/ppp/pppos.c"
  117. "lwip/src/netif/ppp/upap.c"
  118. "lwip/src/netif/ppp/utils.c"
  119. "lwip/src/netif/ppp/vj.c"
  120. "lwip/src/netif/ppp/polarssl/arc4.c"
  121. "lwip/src/netif/ppp/polarssl/des.c"
  122. "lwip/src/netif/ppp/polarssl/md4.c"
  123. "lwip/src/netif/ppp/polarssl/md5.c"
  124. "lwip/src/netif/ppp/polarssl/sha1.c")
  125. endif()
  126. if(CONFIG_ETH_ENABLED)
  127. list(APPEND srcs "port/esp32/netif/ethernetif.c")
  128. endif()
  129. if(CONFIG_VFS_SUPPORT_IO)
  130. list(APPEND srcs "port/esp32/vfs_lwip.c")
  131. else()
  132. list(APPEND srcs "port/esp32/no_vfs_syscalls.c")
  133. endif()
  134. if(CONFIG_LWIP_TCP_ISN_HOOK)
  135. list(APPEND srcs "port/esp32/tcp_isn/tcp_isn.c")
  136. endif()
  137. idf_component_register(SRCS "${srcs}"
  138. INCLUDE_DIRS "${include_dirs}"
  139. LDFRAGMENTS linker.lf
  140. REQUIRES vfs esp_wifi
  141. PRIV_REQUIRES esp_eth esp_netif tcpip_adapter nvs_flash)
  142. # lots of LWIP source files evaluate macros that check address of stack variables
  143. target_compile_options(${COMPONENT_LIB} PRIVATE -Wno-address)
  144. set_source_files_properties(
  145. lwip/src/netif/ppp/ppp.c
  146. PROPERTIES COMPILE_FLAGS
  147. -Wno-uninitialized
  148. )
  149. set_source_files_properties(
  150. lwip/src/netif/ppp/pppos.c
  151. PROPERTIES COMPILE_FLAGS
  152. -Wno-implicit-fallthrough
  153. )
  154. # "comparison is always false due to limited range of data type" warning
  155. # when setting CONFIG_LWIP_TCP_WND_DEFAULT to 65535
  156. set_source_files_properties(
  157. lwip/src/core/tcp.c
  158. PROPERTIES COMPILE_FLAGS
  159. -Wno-type-limits
  160. )