Skip to content

Commit

Permalink
Merged pull request "Tweak USE_SYSTEM_xxx support": #403
Browse files Browse the repository at this point in the history
  • Loading branch information
apanteleev committed Apr 19, 2024
2 parents 824bc62 + cc2eaef commit b1ed071
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 33 deletions.
25 changes: 23 additions & 2 deletions extern/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@

if(USE_SYSTEM_ZLIB)
find_package(ZLIB REQUIRED)

add_library(z INTERFACE IMPORTED GLOBAL)
target_link_libraries(z INTERFACE ZLIB::ZLIB)
else()
add_subdirectory(zlib)
target_include_directories(zlibstatic PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/zlib> $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/zlib>)
Expand All @@ -13,6 +16,10 @@ else()
set_target_properties(zlibstatic PROPERTIES FOLDER extern POSITION_INDEPENDENT_CODE ON)
set_target_properties(minigzip PROPERTIES FOLDER extern)
set_target_properties(example PROPERTIES FOLDER extern)

add_library(z INTERFACE IMPORTED GLOBAL)
target_link_libraries(z INTERFACE zlibstatic)
target_include_directories(z INTERFACE "${ZLIB_INCLUDE_DIRS}")
endif()

#
Expand Down Expand Up @@ -41,7 +48,10 @@ endif()
if (IS_64_BIT)
if (USE_SYSTEM_SDL2)
find_package(SDL2 REQUIRED)
else()

add_library(SDL2 INTERFACE IMPORTED GLOBAL)
target_link_libraries(SDL2 INTERFACE SDL2::SDL2)
else()
option(SDL_SHARED "" OFF)
option(SDL_STATIC "" ON)
option(SDL_SHARED_ENABLED_BY_DEFAULT OFF)
Expand All @@ -57,7 +67,10 @@ if (IS_64_BIT)
set_target_properties(SDL2-static PROPERTIES FOLDER extern)
set_target_properties(uninstall PROPERTIES FOLDER extern)
set_target_properties(sdl_headers_copy PROPERTIES FOLDER extern)
endif()

add_library(SDL2 INTERFACE IMPORTED GLOBAL)
target_link_libraries(SDL2 INTERFACE SDL2main SDL2-static)
endif()
endif()

#
Expand All @@ -66,6 +79,8 @@ endif()
if(CONFIG_USE_CURL)
if(USE_SYSTEM_CURL)
find_package(CURL REQUIRED)
add_library(libcurl INTERFACE IMPORTED GLOBAL)
target_link_libraries(libcurl INTERFACE CURL::libcurl)
else()
option(BUILD_CURL_EXE "" OFF)
option(BUILD_SHARED_LIBS "" OFF)
Expand Down Expand Up @@ -106,6 +121,11 @@ target_include_directories(tinyobjloader INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/t
if (IS_64_BIT)
if (USE_SYSTEM_OPENAL)
find_package(OpenAL REQUIRED)

# Provide "OpenAL" target with result of CMake's detection
add_library(OpenAL INTERFACE IMPORTED GLOBAL)
target_link_libraries(OpenAL INTERFACE ${OPENAL_LIBRARY})
target_include_directories(OpenAL INTERFACE ${OPENAL_INCLUDE_DIR})
else()
set(LIBTYPE STATIC)
option(FORCE_STATIC_VCRT "" ON)
Expand All @@ -122,5 +142,6 @@ if (IS_64_BIT)
set_target_properties(OpenAL PROPERTIES FOLDER extern/openal-soft)
set_target_properties(common PROPERTIES FOLDER extern/openal-soft)
set_target_properties(ex-common PROPERTIES FOLDER extern/openal-soft)
target_compile_definitions(OpenAL PUBLIC AL_LIBTYPE_STATIC)
endif()
endif()
38 changes: 7 additions & 31 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -380,10 +380,6 @@ ADD_DEFINITIONS(-DVERSION_SHA=${Q2RTX_VERSION_SHA})
ADD_DEFINITIONS(-DVERSION_BRANCH=${Q2RTX_VERSION_BRANCH})
ADD_DEFINITIONS(-DHAVE_CONFIG_H=1)

IF (NOT USE_SYSTEM_OPENAL)
ADD_DEFINITIONS(-DAL_LIBTYPE_STATIC)
ENDIF()

IF(WIN32)
ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
ENDIF()
Expand Down Expand Up @@ -477,14 +473,9 @@ 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)
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()
TARGET_LINK_LIBRARIES(client libcurl)
TARGET_SOURCES(client PRIVATE ${SRC_CLIENT_HTTP})
TARGET_COMPILE_DEFINITIONS(client PRIVATE USE_CURL=1)
ENDIF()

add_dependencies(client shaders)
Expand Down Expand Up @@ -558,9 +549,6 @@ TARGET_INCLUDE_DIRECTORIES(game PRIVATE ../inc)

IF(TARGET client)
TARGET_INCLUDE_DIRECTORIES(client PRIVATE ../inc)
IF(NOT USE_SYSTEM_ZLIB)
TARGET_INCLUDE_DIRECTORIES(client PRIVATE "${ZLIB_INCLUDE_DIRS}")
ENDIF()
ENDIF()

TARGET_INCLUDE_DIRECTORIES(server PRIVATE ../inc)
Expand All @@ -573,22 +561,10 @@ if(TARGET client)
endif()
endif()

if(NOT USE_SYSTEM_ZLIB)
TARGET_INCLUDE_DIRECTORIES(server PRIVATE "${ZLIB_INCLUDE_DIRS}")
endif()

if(USE_SYSTEM_ZLIB)
TARGET_LINK_LIBRARIES(server z)
TARGET_LINK_LIBRARIES(game z)
if(TARGET client)
TARGET_LINK_LIBRARIES(client z)
endif()
else()
TARGET_LINK_LIBRARIES(server zlibstatic)
TARGET_LINK_LIBRARIES(game zlibstatic)
if(TARGET client)
TARGET_LINK_LIBRARIES(client zlibstatic)
endif()
TARGET_LINK_LIBRARIES(server z)
TARGET_LINK_LIBRARIES(game z)
if(TARGET client)
TARGET_LINK_LIBRARIES(client z)
endif()

IF(UNIX)
Expand Down

0 comments on commit b1ed071

Please sign in to comment.