From 983a9a6e03cfb3ed58da6b89065b616fba720e86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Kapu=C5=9Bci=C5=84ski?= Date: Sat, 26 Nov 2022 15:32:56 +0100 Subject: [PATCH] Another fix for SDL --- CMakeLists.txt | 13 ++++++++++--- src/CMakeLists.txt | 22 ++++++++++++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 477b14cc..ba5eb8d8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a8e5545c..4cba0968 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -483,13 +483,27 @@ target_include_directories(colobotbase PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ) +if(PLATFORM_WINDOWS) + list(APPEND INTERNAL_SDL_LIBRARIES + $,SDL2::SDL2,SDL2::SDL2-static> + $,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static> + $,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 - $,SDL2::SDL2,SDL2::SDL2-static> - $,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static> - $,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})