commit ff3c3984
Simplyfy Cmake file to make MXE build work
Changed files
| M | CMakeLists.txt before |
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fa28d7e..77c068d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -49,17 +49,14 @@ find_package(SDL2_image QUIET)
find_package(SDL2_mixer QUIET)
find_package(SDL2_ttf QUIET)
+set(SDL2_USE_PKGCONFIG OFF)
if(NOT SDL2_image_FOUND OR NOT SDL2_mixer_FOUND OR NOT SDL2_ttf_FOUND)
+ set(SDL2_USE_PKGCONFIG ON)
find_package(PkgConfig REQUIRED)
- if(NOT SDL2_image_FOUND)
- pkg_search_module(SDL2_image REQUIRED SDL2_image)
- endif()
- if(NOT SDL2_mixer_FOUND)
- pkg_search_module(SDL2_mixer REQUIRED SDL2_mixer)
- endif()
- if(NOT SDL2_ttf_FOUND)
- pkg_search_module(SDL2_ttf REQUIRED SDL2_ttf)
- endif()
+ # When using pkg-config, always search for all SDL2 extensions
+ pkg_search_module(SDL2_image REQUIRED SDL2_image)
+ pkg_search_module(SDL2_mixer REQUIRED SDL2_mixer)
+ pkg_search_module(SDL2_ttf REQUIRED SDL2_ttf)
endif()
@@ -124,10 +121,14 @@ endif()
target_include_directories(blockattack SYSTEM PRIVATE "source/code/Libs/imgui")
target_include_directories(blockattack PRIVATE "source/code/Libs/include")
target_include_directories(blockattack PRIVATE "source/code/Libs/include/cereal/external") #Contains rapidjson
-if(NOT TARGET SDL2_image::SDL2_image)
+if(SDL2_USE_PKGCONFIG)
target_include_directories(blockattack PRIVATE ${SDL2_image_INCLUDE_DIRS})
target_include_directories(blockattack PRIVATE ${SDL2_mixer_INCLUDE_DIRS})
target_include_directories(blockattack PRIVATE ${SDL2_ttf_INCLUDE_DIRS})
+ # Add library directories for pkg-config-based libraries
+ target_link_directories(blockattack PRIVATE ${SDL2_image_LIBRARY_DIRS})
+ target_link_directories(blockattack PRIVATE ${SDL2_mixer_LIBRARY_DIRS})
+ target_link_directories(blockattack PRIVATE ${SDL2_ttf_LIBRARY_DIRS})
endif()
target_include_directories(blockattack PRIVATE ${Intl_INCLUDE_DIRS})
@@ -140,10 +141,10 @@ target_link_libraries(blockattack PRIVATE
)
# Link SDL2 extensions - use imported targets if available, otherwise use pkg-config variables
-if(TARGET SDL2_image::SDL2_image)
- target_link_libraries(blockattack PRIVATE SDL2_image::SDL2_image SDL2_mixer::SDL2_mixer SDL2_ttf::SDL2_ttf)
+if(SDL2_USE_PKGCONFIG)
+ target_link_libraries(blockattack PRIVATE ${SDL2_image_LINK_LIBRARIES} ${SDL2_mixer_LINK_LIBRARIES} ${SDL2_ttf_LINK_LIBRARIES})
else()
- target_link_libraries(blockattack PRIVATE ${SDL2_image_LIBRARIES} ${SDL2_mixer_LIBRARIES} ${SDL2_ttf_LIBRARIES})
+ target_link_libraries(blockattack PRIVATE SDL2_image::SDL2_image SDL2_mixer::SDL2_mixer SDL2_ttf::SDL2_ttf)
endif()
if (MACOSX)