netutils/libwebsockets: Fix error regarding building with CMake

Prior to this change, if an empty folder existed instead of the
actual libwebsockets source, the build would fail. This commit
checks for an actual file instead, avoid such kind of errors.

Signed-off-by: Tiago Medicci <tiago.medicci@espressif.com>
This commit is contained in:
Tiago Medicci 2026-06-12 17:17:15 -03:00 committed by Alan C. Assis
parent 4263e27d92
commit d6cf3015d8

View file

@ -26,12 +26,19 @@ if(CONFIG_NETUTILS_LIBWEBSOCKETS)
set(LIBWEBSOCKETS_DIR ${CMAKE_CURRENT_LIST_DIR}/libwebsockets)
if(NOT EXISTS ${LIBWEBSOCKETS_DIR})
# Match Makefile: strip kconfig quotes; default when olddefconfig has not run
set(LWS_VERSION ${CONFIG_NETUTILS_LIBWEBSOCKETS_VERSION})
string(REGEX REPLACE "^\"(.*)\"$" "\\1" LWS_VERSION "${LWS_VERSION}")
if(NOT LWS_VERSION)
set(LWS_VERSION "4.3.1")
endif()
if(NOT EXISTS "${LIBWEBSOCKETS_DIR}/lib/plat/unix/unix-caps.c")
set(LIBWEBSOCKETS_URL "https://github.com/warmcat/libwebsockets/archive")
FetchContent_Declare(
libwebsockets_fetch
URL ${LIBWEBSOCKETS_URL}/v${CONFIG_NETUTILS_LIBWEBSOCKETS_VERSION}.zip
SOURCE_DIR ${LIBWEBSOCKETS_DIR} BINARY_DIR
URL ${LIBWEBSOCKETS_URL}/v${LWS_VERSION}.zip SOURCE_DIR
${LIBWEBSOCKETS_DIR} BINARY_DIR
${CMAKE_BINARY_DIR}/apps/netutils/libwebsockets/libwebsockets
DOWNLOAD_NO_PROGRESS true
TIMEOUT 30)
@ -52,17 +59,26 @@ if(CONFIG_NETUTILS_LIBWEBSOCKETS)
# Flags
# ############################################################################
string(REGEX MATCHALL "[0-9]" versions
"${CONFIG_NETUTILS_LIBWEBSOCKETS_VERSION}")
list(GET versions 0 VERSION_MAJOR)
list(GET versions 1 VERSION_MINOR)
list(GET versions 2 VERSION_PATCH)
string(REPLACE "." ";" LWS_VERSION_PARTS "${LWS_VERSION}")
list(GET LWS_VERSION_PARTS 0 VERSION_MAJOR)
list(LENGTH LWS_VERSION_PARTS LWS_VERSION_PARTS_LEN)
if(LWS_VERSION_PARTS_LEN GREATER 1)
list(GET LWS_VERSION_PARTS 1 VERSION_MINOR)
else()
set(VERSION_MINOR 0)
endif()
if(LWS_VERSION_PARTS_LEN GREATER 2)
list(GET LWS_VERSION_PARTS 2 VERSION_PATCH)
else()
set(VERSION_PATCH 0)
endif()
set(FLAGS
-DLWS_LIBRARY_VERSION_MAJOR=${VERSION_MAJOR}
-DLWS_LIBRARY_VERSION_MINOR=${VERSION_MINOR}
-DLWS_LIBRARY_VERSION_PATCH=${VERSION_PATCH}
-DLWS_LIBRARY_VERSION_PATCH_ELABORATED=${VERSION_PATCH}-unknown
-DLWS_LIBRARY_VERSION="${CONFIG_NETUTILS_LIBWEBSOCKETS_VERSION}-unknown"
-DLWS_LIBRARY_VERSION="${LWS_VERSION}-unknown"
-Wno-shadow
-Wno-format)