From 4ed87fb282365bbced462d0472139ad072713a99 Mon Sep 17 00:00:00 2001 From: Tiago Medicci Date: Fri, 12 Jun 2026 17:17:15 -0300 Subject: [PATCH] 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 --- netutils/libwebsockets/CMakeLists.txt | 34 ++++++++++++++++++++------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/netutils/libwebsockets/CMakeLists.txt b/netutils/libwebsockets/CMakeLists.txt index ed3f58674..8f308e292 100644 --- a/netutils/libwebsockets/CMakeLists.txt +++ b/netutils/libwebsockets/CMakeLists.txt @@ -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)