mirror of
https://github.com/warmcat/libwebsockets.git
synced 2025-03-16 00:00:07 +01:00

Adapt the event lib support slighly so we can pass an event lib "plugin" header in at context creation time, and direct all event loop handling to go via that. This can then be lightly adapted to interface to an existing custom event loop cleanly, without the problems of EXTERNAL_POLL. The external loop must consult with us about the max wait timeout as shown in the added minimal-http-server-eventlib-custom example. The example shows a complete implementation working with a custom poll() loop cleanly while only needing 5 ops in the custom event lib handler.
27 lines
777 B
CMake
27 lines
777 B
CMake
project(lws-minimal-http-server-eventlib-custom C)
|
|
cmake_minimum_required(VERSION 2.8.12)
|
|
find_package(libwebsockets CONFIG REQUIRED)
|
|
list(APPEND CMAKE_MODULE_PATH ${LWS_CMAKE_DIR})
|
|
include(CheckCSourceCompiles)
|
|
include(LwsCheckRequirements)
|
|
|
|
set(SAMP lws-minimal-http-server-eventlib-custom)
|
|
set(SRCS minimal-http-server.c)
|
|
|
|
if (WIN32)
|
|
else()
|
|
set(requirements 1)
|
|
require_lws_config(LWS_ROLE_H1 1 requirements)
|
|
require_lws_config(LWS_WITH_SERVER 1 requirements)
|
|
|
|
if (requirements)
|
|
add_executable(${SAMP} ${SRCS})
|
|
|
|
if (websockets_shared)
|
|
target_link_libraries(${SAMP} websockets_shared ${LIBWEBSOCKETS_DEP_LIBS})
|
|
add_dependencies(${SAMP} websockets_shared)
|
|
else()
|
|
target_link_libraries(${SAMP} websockets ${LIBWEBSOCKETS_DEP_LIBS})
|
|
endif()
|
|
endif()
|
|
endif()
|