From 21b6572b5b146577687c9dc109507d7614c433fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Kapu=C5=9Bci=C5=84ski?= Date: Sat, 26 Nov 2022 17:36:11 +0100 Subject: [PATCH] Fix for SDL on Windows --- CMakeLists.txt | 13 ++++++++++--- src/CMakeLists.txt | 24 ++++++++++++++++++++---- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 68b4d827..68d707ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -309,13 +309,20 @@ include("${colobot_SOURCE_DIR}/cmake/colobot-lint.cmake") ## find_package(OpenGL 1.4 REQUIRED) -find_package(SDL2 REQUIRED) -find_package(SDL2_image REQUIRED) -find_package(SDL2_ttf REQUIRED) find_package(PNG 1.2 REQUIRED) find_package(Gettext REQUIRED) find_package(PhysFS 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() + set(Boost_USE_STATIC_LIBS ${BOOST_STATIC}) set(Boost_USE_MULTITHREADED ON) set(Boost_USE_STATIC_RUNTIME ${USE_STATIC_RUNTIME}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 10def122..27819d46 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -480,9 +480,6 @@ target_include_directories(colobotbase PUBLIC target_link_libraries(colobotbase PUBLIC CBot localename - SDL2::Core - SDL2::Image - SDL2::TTF OpenGL::GL PNG::PNG GLEW::GLEW @@ -507,6 +504,20 @@ if(mp3lame_FOUND) ) endif() +if(PLATFORM_WINDOWS) + target_link_libraries(colobotbase PUBLIC + $,SDL2::SDL2,SDL2::SDL2-static> + $,SDL2_image::SDL2_image,SDL2_image::SDL2_image-static> + $,SDL2_ttf::SDL2_ttf,SDL2_ttf::SDL2_ttf-static> + ) +elseif() + target_link_libraries(colobotbase PUBLIC + SDL2::Core + SDL2::Image + SDL2::TTF + ) +endif() + # Optional libraries if(OPENAL_SOUND) target_sources(colobotbase PRIVATE @@ -601,7 +612,12 @@ endif() if(PLATFORM_WINDOWS) target_sources(colobot PRIVATE ../desktop/colobot.rc) endif() -target_link_libraries(colobot colobotbase SDL2::Main) + +if(PLATFORM_WINDOWS) + target_link_libraries(colobot colobotbase SDL2::SDL2main) +elseif() + target_link_libraries(colobot colobotbase SDL2::Main) +endif() # Install install(TARGETS colobot RUNTIME DESTINATION ${COLOBOT_INSTALL_BIN_DIR})