Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tweak USE_SYSTEM_xxx support #403

Merged
merged 5 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading