Another fix for SDL

dev
Tomasz Kapuściński 2022-11-26 15:32:56 +01:00
parent 2f50470591
commit 983a9a6e03
2 changed files with 28 additions and 7 deletions

View File

@ -307,14 +307,21 @@ include("${colobot_SOURCE_DIR}/cmake/colobot-lint.cmake")
##
find_package(OpenGL 1.4 REQUIRED)
find_package(SDL2 CONFIG REQUIRED)
find_package(SDL2_image CONFIG REQUIRED)
find_package(SDL2_ttf CONFIG REQUIRED)
find_package(PNG 1.2 REQUIRED)
find_package(Gettext REQUIRED)
find_package(PhysFS REQUIRED)
find_package(glm CONFIG REQUIRED)
if(PLATFORM_WINDOWS)
find_package(SDL2 CONFIG REQUIRED)
find_package(SDL2_image CONFIG REQUIRED)
find_package(SDL2_ttf CONFIG REQUIRED)
else()
find_package(SDL2 REQUIRED)
find_package(SDL2_image REQUIRED)
find_package(SDL2_ttf REQUIRED)
endif()
# Add target alias glm::glm for older versions of the library
if(NOT TARGET glm::glm)
add_library(glm::glm ALIAS glm)

View File

@ -483,13 +483,27 @@ target_include_directories(colobotbase PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
)
if(PLATFORM_WINDOWS)
list(APPEND INTERNAL_SDL_LIBRARIES
$<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>
$<IF:$<TARGET_EXISTS:SDL2_image::SDL2_image>,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static>
$<IF:$<TARGET_EXISTS:SDL2_ttf::SDL2_ttf>,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static>
)
set(INTERNAL_SDL_MAIN_LIBRARY SDL2::SDL2main)
elseif()
list(APPEND INTERNAL_SDL_LIBRARIES
SDL2::Core
SDL2::Image
SDL2::TTF
)
set(INTERNAL_SDL_MAIN_LIBRARY SDL2::Main)
endif()
# Main libraries
target_link_libraries(colobotbase PUBLIC
CBot
localename
$<IF:$<TARGET_EXISTS:SDL2::SDL2>,SDL2::SDL2,SDL2::SDL2-static>
$<IF:$<TARGET_EXISTS:SDL2_image::SDL2_image>,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static>
$<IF:$<TARGET_EXISTS:SDL2_ttf::SDL2_ttf>,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static>
${INTERNAL_SDL_LIBRARIES}
OpenGL::GL
PNG::PNG
GLEW::GLEW
@ -610,7 +624,7 @@ endif()
if(PLATFORM_WINDOWS)
target_sources(colobot PRIVATE ../desktop/colobot.rc)
endif()
target_link_libraries(colobot colobotbase SDL2::SDL2main)
target_link_libraries(colobot colobotbase ${INTERNAL_SDL_MAIN_LIBRARY})
# Install
install(TARGETS colobot RUNTIME DESTINATION ${COLOBOT_INSTALL_BIN_DIR})