Skip to content
Snippets Groups Projects
Commit 80cfed38 authored by Adrien Béraud's avatar Adrien Béraud
Browse files

build/cmake: make using io_uring optional

parent 83ae4980
No related branches found
No related tags found
No related merge requests found
...@@ -33,6 +33,7 @@ option (OPENDHT_PROXY_CLIENT "Enable DHT proxy client, use Restinio and jsoncpp" ...@@ -33,6 +33,7 @@ option (OPENDHT_PROXY_CLIENT "Enable DHT proxy client, use Restinio and jsoncpp"
option (OPENDHT_PROXY_OPENSSL "Build DHT proxy with OpenSSL" ON) option (OPENDHT_PROXY_OPENSSL "Build DHT proxy with OpenSSL" ON)
CMAKE_DEPENDENT_OPTION(OPENDHT_HTTP "Build embedded http(s) client" OFF "NOT OPENDHT_PROXY_SERVER;NOT OPENDHT_PROXY_CLIENT" ON) CMAKE_DEPENDENT_OPTION(OPENDHT_HTTP "Build embedded http(s) client" OFF "NOT OPENDHT_PROXY_SERVER;NOT OPENDHT_PROXY_CLIENT" ON)
option (OPENDHT_PEER_DISCOVERY "Enable multicast peer discovery" ON) option (OPENDHT_PEER_DISCOVERY "Enable multicast peer discovery" ON)
option (OPENDHT_IO_URING "Use io_uring if available on the system (Linux only)" OFF)
option (OPENDHT_INDEX "Build DHT indexation feature" OFF) option (OPENDHT_INDEX "Build DHT indexation feature" OFF)
option (OPENDHT_TESTS_NETWORK "Enable unit tests that require network access" ON) option (OPENDHT_TESTS_NETWORK "Enable unit tests that require network access" ON)
option (OPENDHT_C "Build C bindings" OFF) option (OPENDHT_C "Build C bindings" OFF)
...@@ -107,7 +108,7 @@ if (NOT MSVC) ...@@ -107,7 +108,7 @@ if (NOT MSVC)
) )
set(llhttp_target llhttp_static) set(llhttp_target llhttp_static)
else() else()
FetchContent_Declare(llhttp-local URL "https://github.com/nodejs/llhttp/archive/refs/tags/release/v9.2.0.tar.gz") FetchContent_Declare(llhttp-local URL "https://github.com/nodejs/llhttp/archive/refs/tags/release/v9.2.1.tar.gz")
if (BUILD_SHARED_LIBS) if (BUILD_SHARED_LIBS)
set(BUILD_SHARED_LIBS ON CACHE INTERNAL "") set(BUILD_SHARED_LIBS ON CACHE INTERNAL "")
else() else()
...@@ -163,7 +164,7 @@ endif () ...@@ -163,7 +164,7 @@ endif ()
if (OPENDHT_HTTP OR OPENDHT_PEER_DISCOVERY) if (OPENDHT_HTTP OR OPENDHT_PEER_DISCOVERY)
add_definitions(-DASIO_STANDALONE) add_definitions(-DASIO_STANDALONE)
if (UNIX AND NOT APPLE) if (OPENDHT_IO_URING AND UNIX AND NOT APPLE)
pkg_search_module(liburing IMPORTED_TARGET liburing) pkg_search_module(liburing IMPORTED_TARGET liburing)
endif () endif ()
endif() endif()
...@@ -407,7 +408,7 @@ else() ...@@ -407,7 +408,7 @@ else()
if (OPENDHT_PROXY_OPENSSL) if (OPENDHT_PROXY_OPENSSL)
target_link_libraries(opendht PUBLIC PkgConfig::OPENSSL) target_link_libraries(opendht PUBLIC PkgConfig::OPENSSL)
endif() endif()
if (liburing_FOUND) if (OPENDHT_IO_URING AND liburing_FOUND)
set(iouring_lib ", liburing") set(iouring_lib ", liburing")
target_link_libraries(opendht PUBLIC PkgConfig::liburing) target_link_libraries(opendht PUBLIC PkgConfig::liburing)
target_compile_definitions(opendht PUBLIC ASIO_HAS_IO_URING ASIO_DISABLE_EPOLL) target_compile_definitions(opendht PUBLIC ASIO_HAS_IO_URING ASIO_DISABLE_EPOLL)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment