mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-22 01:09:25 +00:00
This implementation can be better improved in the future by ripping out a lot of the manual logic in LibWebSocket and rely on libcurl to parse our message payloads. But for now, this uses the 'raw mode' of curl websockets in connect-only mode to allow for somewhat seamless integration into our event loop.
40 lines
1.4 KiB
CMake
40 lines
1.4 KiB
CMake
set(CMAKE_AUTOMOC OFF)
|
|
set(CMAKE_AUTORCC OFF)
|
|
set(CMAKE_AUTOUIC OFF)
|
|
|
|
set(SOURCES
|
|
ConnectionFromClient.cpp
|
|
WebSocketImplCurl.cpp
|
|
)
|
|
|
|
if (ANDROID)
|
|
add_library(requestserverservice SHARED
|
|
${LADYBIRD_SOURCE_DIR}/UI/Android/src/main/cpp/RequestServerService.cpp
|
|
${LADYBIRD_SOURCE_DIR}/UI/Android/src/main/cpp/LadybirdServiceBaseJNI.cpp
|
|
${SOURCES}
|
|
)
|
|
else()
|
|
add_library(requestserverservice STATIC ${SOURCES})
|
|
endif()
|
|
|
|
find_package(PkgConfig)
|
|
find_package(CURL REQUIRED)
|
|
|
|
add_executable(RequestServer main.cpp)
|
|
|
|
target_include_directories(requestserverservice PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../..)
|
|
target_include_directories(requestserverservice PRIVATE ${LADYBIRD_SOURCE_DIR}/Services/)
|
|
|
|
target_link_libraries(RequestServer PRIVATE requestserverservice)
|
|
target_link_libraries(requestserverservice PUBLIC LibCore LibDNS LibMain LibCrypto LibFileSystem LibIPC LibMain LibTLS LibWebView LibWebSocket LibURL LibTextCodec LibThreading CURL::libcurl)
|
|
target_link_libraries(requestserverservice PRIVATE OpenSSL::Crypto OpenSSL::SSL)
|
|
|
|
if (${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
|
# Solaris has socket and networking related functions in two extra libraries
|
|
target_link_libraries(requestserverservice PUBLIC nsl socket)
|
|
endif()
|
|
if (HAIKU)
|
|
# Haiku has networking related functions in the network library
|
|
target_link_libraries(RequestServer PRIVATE network)
|
|
endif()
|