@@ -49,17 +49,14 @@ find_package(SDL2_image QUIET)
4949find_package (SDL2_mixer QUIET )
5050find_package (SDL2_ttf QUIET )
5151
52+ set (SDL2_USE_PKGCONFIG OFF )
5253if (NOT SDL2_image_FOUND OR NOT SDL2_mixer_FOUND OR NOT SDL2_ttf_FOUND)
54+ set (SDL2_USE_PKGCONFIG ON )
5355 find_package (PkgConfig REQUIRED)
54- if (NOT SDL2_image_FOUND)
55- pkg_search_module(SDL2_image REQUIRED SDL2_image)
56- endif ()
57- if (NOT SDL2_mixer_FOUND)
58- pkg_search_module(SDL2_mixer REQUIRED SDL2_mixer)
59- endif ()
60- if (NOT SDL2_ttf_FOUND)
61- pkg_search_module(SDL2_ttf REQUIRED SDL2_ttf)
62- endif ()
56+ # When using pkg-config, always search for all SDL2 extensions
57+ pkg_search_module(SDL2_image REQUIRED SDL2_image)
58+ pkg_search_module(SDL2_mixer REQUIRED SDL2_mixer)
59+ pkg_search_module(SDL2_ttf REQUIRED SDL2_ttf)
6360endif ()
6461
6562
@@ -124,10 +121,14 @@ endif()
124121target_include_directories (blockattack SYSTEM PRIVATE "source/code/Libs/imgui" )
125122target_include_directories (blockattack PRIVATE "source/code/Libs/include" )
126123target_include_directories (blockattack PRIVATE "source/code/Libs/include/cereal/external" ) #Contains rapidjson
127- if (NOT TARGET SDL2_image::SDL2_image )
124+ if (SDL2_USE_PKGCONFIG )
128125 target_include_directories (blockattack PRIVATE ${SDL2_image_INCLUDE_DIRS} )
129126 target_include_directories (blockattack PRIVATE ${SDL2_mixer_INCLUDE_DIRS} )
130127 target_include_directories (blockattack PRIVATE ${SDL2_ttf_INCLUDE_DIRS} )
128+ # Add library directories for pkg-config-based libraries
129+ target_link_directories (blockattack PRIVATE ${SDL2_image_LIBRARY_DIRS} )
130+ target_link_directories (blockattack PRIVATE ${SDL2_mixer_LIBRARY_DIRS} )
131+ target_link_directories (blockattack PRIVATE ${SDL2_ttf_LIBRARY_DIRS} )
131132endif ()
132133target_include_directories (blockattack PRIVATE ${Intl_INCLUDE_DIRS} )
133134
@@ -140,10 +141,10 @@ target_link_libraries(blockattack PRIVATE
140141)
141142
142143# Link SDL2 extensions - use imported targets if available, otherwise use pkg-config variables
143- if (TARGET SDL2_image::SDL2_image )
144- target_link_libraries (blockattack PRIVATE SDL2_image::SDL2_image SDL2_mixer::SDL2_mixer SDL2_ttf::SDL2_ttf )
144+ if (SDL2_USE_PKGCONFIG )
145+ target_link_libraries (blockattack PRIVATE ${SDL2_image_LINK_LIBRARIES} ${SDL2_mixer_LINK_LIBRARIES} ${SDL2_ttf_LINK_LIBRARIES} )
145146else ()
146- target_link_libraries (blockattack PRIVATE ${SDL2_image_LIBRARIES} ${SDL2_mixer_LIBRARIES} ${SDL2_ttf_LIBRARIES} )
147+ target_link_libraries (blockattack PRIVATE SDL2_image::SDL2_image SDL2_mixer::SDL2_mixer SDL2_ttf::SDL2_ttf )
147148endif ()
148149
149150if (MACOSX)
0 commit comments