Skip to content

Commit

Permalink
Fixed build and link with system SDL2
Browse files Browse the repository at this point in the history
  • Loading branch information
Wohlstand committed Aug 31, 2024
1 parent 66d9b2e commit 79ec841
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 21 deletions.
14 changes: 8 additions & 6 deletions cmake/libSDL2.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,22 @@ if(USE_SYSTEM_AUDIO_LIBRARIES OR USE_SYSTEM_SDL2)
message(FATAL_ERROR "The SDL2 Library was not found!")
endif()
set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
set(SDL2_LIBRARIES ${SDL2_LIBRARY})
set(MIX_SDL2_LIBRARIES ${SDL2_LIBRARY})
else()
find_package(SDL2 REQUIRED)
set(SDL2_LIBRARIES "")
set(MIX_SDL2_LIBRARIES "")
if(TARGET SDL2::SDL2)
list(APPEND SDL2_LIBRARIES SDL2::SDL2)
list(APPEND MIX_SDL2_LIBRARIES SDL2::SDL2)
elseif(TARGET SDL2::SDL2-static)
list(APPEND SDL2_LIBRARIES SDL2::SDL2-static)
list(APPEND MIX_SDL2_LIBRARIES SDL2::SDL2-static)
else()
list(APPEND MIX_SDL2_LIBRARIES ${SDL2_LIBRARIES})
endif()
if(TARGET SDL2::SDL2main)
list(APPEND SDL2_LIBRARIES SDL2::SDL2main)
list(APPEND MIX_SDL2_LIBRARIES SDL2::SDL2main)
endif()
endif()
set(LIBSDL2CUSTOM_LIB ${SDL2_LIBRARIES})
set(LIBSDL2CUSTOM_LIB ${MIX_SDL2_LIBRARIES})
set(LIBSDL2CUSTOM_INCLUDES ${SDL2_INCLUDE_DIRS})
message("== SDL2: ${SDL2_INCLUDE_DIRS} ${SDL2_LIBRARIES} ==")

Expand Down
28 changes: 15 additions & 13 deletions examples/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,35 +1,37 @@

if(USE_SYSTEM_AUDIO_LIBRARIES OR USE_SYSTEM_SDL2)
find_package(SDL2 REQUIRED)
set(SDL2_LIBRARIES "")
set(MIX_SDL2_LIBRARIES "")
if(TARGET SDL2::SDL2)
list(APPEND SDL2_LIBRARIES SDL2::SDL2)
list(APPEND MIX_SDL2_LIBRARIES SDL2::SDL2)
elseif(TARGET SDL2::SDL2-static)
list(APPEND SDL2_LIBRARIES SDL2::SDL2-static)
list(APPEND MIX_SDL2_LIBRARIES SDL2::SDL2-static)
else()
list(APPEND MIX_SDL2_LIBRARIES ${SDL2_LIBRARIES})
endif()
if(TARGET SDL2::SDL2main)
list(APPEND SDL2_LIBRARIES SDL2::SDL2main)
list(APPEND MIX_SDL2_LIBRARIES SDL2::SDL2main)
endif()
if(WIN32)
find_library(SDL2main_LIBRARY NAMES SDL2main${MIX_DEBUG_SUFFIX} SDL2main)
string(REGEX REPLACE "-mwindows" "" SDL2_LIBRARIES "${SDL2_LIBRARIES}")
string(REGEX REPLACE "-lmingw32" "" SDL2_LIBRARIES "${SDL2_LIBRARIES}")
string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES)
string(REGEX REPLACE "-mwindows" "" MIX_SDL2_LIBRARIES "${MIX_SDL2_LIBRARIES}")
string(REGEX REPLACE "-lmingw32" "" MIX_SDL2_LIBRARIES "${MIX_SDL2_LIBRARIES}")
string(STRIP "${MIX_SDL2_LIBRARIES}" MIX_SDL2_LIBRARIES)
endif()
else()
if(DOWNLOAD_AUDIO_CODECS_DEPENDENCY)
if(WIN32)
set(SDL2_LIBRARIES SDL2${MIX_DEBUG_SUFFIX} SDL2main${MIX_DEBUG_SUFFIX})
set(MIX_SDL2_LIBRARIES SDL2${MIX_DEBUG_SUFFIX} SDL2main${MIX_DEBUG_SUFFIX})
set(SDL2main_LIBRARY SDL2main${MIX_DEBUG_SUFFIX})
else()
set(SDL2_LIBRARIES SDL2${MIX_DEBUG_SUFFIX})
set(MIX_SDL2_LIBRARIES SDL2${MIX_DEBUG_SUFFIX})
endif()
else()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${FIND_PREFER_SHARED})
find_library(SDL2_LIBRARY NAMES SDL2 SDL2d
HINTS "${AUDIO_CODECS_INSTALL_PATH}/lib")
mark_as_advanced(SDL2_LIBRARY)
set(SDL2_LIBRARIES ${SDL2_LIBRARY})
set(MIX_SDL2_LIBRARIES ${SDL2_LIBRARY})
if(WIN32)
find_library(SDL2main_LIBRARY NAMES SDL2main SDL2maind
HINTS "${AUDIO_CODECS_INSTALL_PATH}/lib")
Expand All @@ -39,16 +41,16 @@ else()
set(SDL2_INCLUDE_DIRS ${AUDIO_CODECS_INSTALL_DIR}/include/SDL2)
endif()

message("Examples: SDL2 [${SDL2_LIBRARIES}] SDL2main: [${SDL2main_LIBRARY}]")
message("Examples: SDL2 [${MIX_SDL2_LIBRARIES}] SDL2main: [${SDL2main_LIBRARY}]")

add_library(libSDLMixerX INTERFACE)
if(MINGW)
target_link_libraries(libSDLMixerX INTERFACE -lmingw32 ${SDL2main_LIBRARY})
endif()
if(SDL_MIXER_X_SHARED)
target_link_libraries(libSDLMixerX INTERFACE SDL2_mixer_ext ${SDL2_LIBRARIES})
target_link_libraries(libSDLMixerX INTERFACE SDL2_mixer_ext ${MIX_SDL2_LIBRARIES})
elseif(SDL_MIXER_X_STATIC)
target_link_libraries(libSDLMixerX INTERFACE SDL2_mixer_ext_Static ${SDL2_LIBRARIES})
target_link_libraries(libSDLMixerX INTERFACE SDL2_mixer_ext_Static ${MIX_SDL2_LIBRARIES})
endif()

include(NoPie)
Expand Down
4 changes: 2 additions & 2 deletions src/codecs/timidity/common.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ SDL_RWops *timi_openfile(const char *name)
/* First try the given name */

SNDDBG(("Trying to open %s\n", name));
if ((rw = _Mix_RWFromFile(name, "rb")) != NULL)
if ((rw = SDL_RWFromFile(name, "rb")) != NULL)
return rw;

if (!is_abspath(name))
Expand All @@ -69,7 +69,7 @@ SDL_RWops *timi_openfile(const char *name)
}
SDL_strlcpy(p, name, sizeof(current_filename) - l);
SNDDBG(("Trying to open %s\n", current_filename));
if ((rw = _Mix_RWFromFile(current_filename, "rb")))
if ((rw = SDL_RWFromFile(current_filename, "rb")))
return rw;
plp = plp->next;
}
Expand Down

0 comments on commit 79ec841

Please sign in to comment.