Skip to content

Commit

Permalink
Merged pull request "Add option to compile against shared lib cURL": #…
Browse files Browse the repository at this point in the history
  • Loading branch information
apanteleev committed Apr 1, 2024
2 parents 945023c + defd3ca commit 1ae8c8e
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 26 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ OPTION(CONFIG_BUILD_IPO "Enable interprocedural optimizations" OFF)
OPTION(CONFIG_BUILD_SHADER_DEBUG_INFO "Build shaders with debug info" OFF)
OPTION(USE_SYSTEM_ZLIB "Prefer system ZLIB instead of the bundled one" OFF)
OPTION(USE_SYSTEM_OPENAL "Prefer system OpenAL Soft instead of the bundled one" OFF)
OPTION(USE_SYSTEM_CURL "Prefer system cURL instead of the bundled one" OFF)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)

# use dynamic zlib for steam runtime
Expand Down
46 changes: 25 additions & 21 deletions extern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,28 +60,32 @@ endif()
# CURL
#
if(CONFIG_USE_CURL)
option(BUILD_CURL_EXE "" OFF)
option(BUILD_SHARED_LIBS "" OFF)
option(CURL_STATICLIB "" ON)
option(BUILD_TESTING "" OFF)
option(ENABLE_MANUAL "" OFF)
option(ENABLE_DOCS "" OFF)
option(HTTP_ONLY "" ON)
option(CURL_ZLIB "" OFF)
option(CMAKE_USE_OPENSSL "" OFF)
set(CURL_CA_PATH "none" CACHE PATH "")

set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Override CMAKE_DEBUG_POSTFIX, which curl sets to '-d'")

set(ZLIB_DIR "{CMAKE_CURRENT_SOURCE_DIR}/zlib")

add_subdirectory(curl)

set_target_properties(libcurl_static PROPERTIES FOLDER extern)
if (TARGET libcurl_object)
set_target_properties(libcurl_object PROPERTIES FOLDER extern)
if(USE_SYSTEM_CURL)
find_package(CURL REQUIRED)
else()
option(BUILD_CURL_EXE "" OFF)
option(BUILD_SHARED_LIBS "" OFF)
option(CURL_STATICLIB "" ON)
option(BUILD_TESTING "" OFF)
option(ENABLE_MANUAL "" OFF)
option(ENABLE_DOCS "" OFF)
option(HTTP_ONLY "" ON)
option(CURL_ZLIB "" OFF)
option(CMAKE_USE_OPENSSL "" OFF)
set(CURL_CA_PATH "none" CACHE PATH "")

set(CMAKE_DEBUG_POSTFIX "" CACHE STRING "Override CMAKE_DEBUG_POSTFIX, which curl sets to '-d'")

set(ZLIB_DIR "{CMAKE_CURRENT_SOURCE_DIR}/zlib")

add_subdirectory(curl)

set_target_properties(libcurl_static PROPERTIES FOLDER extern)
if (TARGET libcurl_object)
set_target_properties(libcurl_object PROPERTIES FOLDER extern)
endif()
set_target_properties(curl_uninstall PROPERTIES FOLDER extern)
endif()
set_target_properties(curl_uninstall PROPERTIES FOLDER extern)
endif()


Expand Down
14 changes: 9 additions & 5 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -378,8 +378,7 @@ ADD_DEFINITIONS(-DVERSION_MINOR=${Q2RTX_VERSION_MINOR})
ADD_DEFINITIONS(-DVERSION_POINT=${Q2RTX_VERSION_POINT})
ADD_DEFINITIONS(-DVERSION_SHA=${Q2RTX_VERSION_SHA})
ADD_DEFINITIONS(-DVERSION_BRANCH=${Q2RTX_VERSION_BRANCH})

ADD_DEFINITIONS(-DHAVE_CONFIG_H=1 -DCURL_STATICLIB)
ADD_DEFINITIONS(-DHAVE_CONFIG_H=1)

IF (NOT USE_SYSTEM_OPENAL)
ADD_DEFINITIONS(-DAL_LIBTYPE_STATIC)
Expand Down Expand Up @@ -477,9 +476,14 @@ IF (TARGET client)
TARGET_COMPILE_DEFINITIONS(client PRIVATE USE_CLIENT=1 USE_SAVEGAMES=1 USE_FIXED_LIBAL=1 USE_SDL=1)

IF(CONFIG_USE_CURL)
TARGET_SOURCES(client PRIVATE ${SRC_CLIENT_HTTP})
TARGET_COMPILE_DEFINITIONS(client PRIVATE USE_CURL=1)
TARGET_LINK_LIBRARIES(client libcurl)
IF(USE_SYSTEM_CURL)
TARGET_LINK_LIBRARIES(client curl)
ELSE()
ADD_DEFINITIONS(-DCURL_STATICLIB)
TARGET_SOURCES(client PRIVATE ${SRC_CLIENT_HTTP})
TARGET_COMPILE_DEFINITIONS(client PRIVATE USE_CURL=1)
TARGET_LINK_LIBRARIES(client libcurl)
ENDIF()
ENDIF()

add_dependencies(client shaders)
Expand Down

0 comments on commit 1ae8c8e

Please sign in to comment.