Skip to content

Commit ff3c398

Browse files
committed
Simplyfy Cmake file to make MXE build work
1 parent d609b85 commit ff3c398

File tree

1 file changed

+14
-13
lines changed

1 file changed

+14
-13
lines changed

CMakeLists.txt

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,14 @@ find_package(SDL2_image QUIET)
4949
find_package(SDL2_mixer QUIET)
5050
find_package(SDL2_ttf QUIET)
5151

52+
set(SDL2_USE_PKGCONFIG OFF)
5253
if(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)
6360
endif()
6461

6562

@@ -124,10 +121,14 @@ endif()
124121
target_include_directories(blockattack SYSTEM PRIVATE "source/code/Libs/imgui")
125122
target_include_directories(blockattack PRIVATE "source/code/Libs/include")
126123
target_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})
131132
endif()
132133
target_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})
145146
else()
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)
147148
endif()
148149

149150
if (MACOSX)

0 commit comments

Comments
 (0)