Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Kartatz committed Aug 30, 2024
1 parent 9f16a6a commit 330a736
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@
[submodule "submodules/nghttp2"]
path = submodules/nghttp2
url = https://github.com/nghttp2/nghttp2
[submodule "submodules/c-ares"]
path = submodules/c-ares
url = https://github.com/c-ares/c-ares
24 changes: 24 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ project(
option(KAI_ENABLE_LTO "Turn on compiler Link Time Optimizations" OFF)
option(KAI_ENABLE_UNICODE "Enable unicode support for Windows builds" ON)
option(KAI_ENABLE_HTTP2 "Enable HTTP/2 support in cURL" ON)
option(KAI_ENABLE_ASYNC_RESOLVER "Enable async DNS resolver support in cURL" ON)

set(
MODIFY_OUTPUT_DIRECTORY
Expand Down Expand Up @@ -68,6 +69,11 @@ if (KAI_ENABLE_HTTP2)
set(USE_NGHTTP2 ON)
endif()

if (KAI_ENABLE_ASYNC_RESOLVER)
set(ENABLE_ARES ON)
set(ENABLE_THREADED_RESOLVER OFF)
endif()

if (WIN32 AND KAI_ENABLE_UNICODE)
set(ENABLE_UNICODE ON)
endif()
Expand Down Expand Up @@ -107,6 +113,20 @@ if (KAI_ENABLE_HTTP2)
list(APPEND MODIFY_OUTPUT_DIRECTORY nghttp2)
endif()

if (KAI_ENABLE_ASYNC_RESOLVER)
set(
CARES_INCLUDE_DIR
"${CMAKE_CURRENT_SOURCE_DIR}/submodules/c-ares/include"
"${CMAKE_CURRENT_BINARY_DIR}/submodules/c-ares"
)

set(CARES_LIBRARY "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}cares${CMAKE_SHARED_LIBRARY_SUFFIX}")

list(APPEND CURL_LIBRARY_DEPENDENCIES c-ares)
list(APPEND INTERNAL_LIBRARY_TARGETS c-ares)
list(APPEND MODIFY_OUTPUT_DIRECTORY c-ares)
endif()

include_directories(
"${CMAKE_SOURCE_DIR}/src"
"${CMAKE_SOURCE_DIR}/submodules/bearssl/src"
Expand Down Expand Up @@ -446,6 +466,10 @@ if (KAI_ENABLE_HTTP2)
endif()
endif()

if (KAI_ENABLE_ASYNC_RESOLVER)
add_subdirectory(submodules/c-ares EXCLUDE_FROM_ALL)
endif()

foreach(target ${CURL_LIBRARY_DEPENDENCIES})
add_custom_command(
OUTPUT ${target}
Expand Down
1 change: 1 addition & 0 deletions submodules/c-ares
Submodule c-ares added at fb3160

0 comments on commit 330a736

Please sign in to comment.