ESP32 platform
[platform/upstream/libwebsockets.git] / CMakeLists.txt
index d6de2e5..4fd9fc6 100644 (file)
@@ -109,6 +109,7 @@ option(LWS_WITH_GENERIC_SESSIONS "With the Generic Sessions plugin" OFF)
 option(LWS_WITH_SQLITE3 "Require SQLITE3 support" OFF)
 option(LWS_WITH_SMTP "Provide SMTP support" OFF)
 option(LWS_WITH_ESP8266 "Build for ESP8266" OFF)
+option(LWS_WITH_ESP32 "Build for ESP32" OFF)
 option(LWS_PLAT_OPTEE "Build for OPTEE" OFF)
 option(LWS_WITH_NO_LOGS "Disable all logging from being compiled in" OFF)
 option(LWS_STATIC_PIC "Build the static version of the library with position-independent code" OFF)
@@ -176,6 +177,22 @@ if (LWS_WITH_ESP8266)
  set(LWS_HAVE_GETIFADDRS 1)
 endif()
 
+if (LWS_WITH_ESP32)
+ set(LWS_WITH_SHARED OFF)
+ set(LWS_WITH_SSL OFF)
+ set(LWS_WITH_ZLIB OFF)
+ # set(LWS_WITHOUT_CLIENT ON)
+ set(LWS_WITHOUT_TESTAPPS ON)
+ set(LWS_WITHOUT_EXTENSIONS ON)
+ set(LWS_WITH_PLUGINS OFF)
+ set(LWS_WITH_RANGES ON)
+ # this implies no pthreads in the lib
+ set(LWS_MAX_SMP 1)
+ set(LWS_HAVE_MALLOC 1)
+ set(LWS_HAVE_REALLOC 1)
+ set(LWS_HAVE_GETIFADDRS 1)
+endif()
+
 
 if (WIN32)
 # this implies no pthreads in the lib
@@ -609,8 +626,13 @@ else()
                                list(APPEND SOURCES
                                        lib/lws-plat-optee.c)
                        else()
-                               list(APPEND SOURCES
-                                       lib/lws-plat-unix.c)
+                               if (LWS_WITH_ESP32)
+                                       list(APPEND SOURCES
+                                               lib/lws-plat-esp32.c)
+                               else()
+                                       list(APPEND SOURCES
+                                               lib/lws-plat-unix.c)
+                               endif()
                        endif()
                endif()
        endif()
@@ -1657,6 +1679,7 @@ message(" LWS_WITH_GENERIC_SESSIONS = ${LWS_WITH_GENERIC_SESSIONS}")
 message(" LWS_STATIC_PIC = ${LWS_STATIC_PIC}")
 message(" LWS_WITH_RANGES = ${LWS_WITH_RANGES}")
 message(" LWS_PLAT_OPTEE = ${LWS_PLAT_OPTEE}")
+message(" LWS_WITH_ESP32 = ${LWS_WITH_ESP32}")
 
 message("---------------------------------------------------------------------")