From fef9eadc23c8ba8c7751e389bf9cdc180b406042 Mon Sep 17 00:00:00 2001 From: Wohlstand Date: Wed, 26 Jan 2022 23:37:25 +0300 Subject: [PATCH] Attempt to fix the SDL2 library name problem at some cases --- CMakeLists.txt | 3 ++- cmake/DownloadAudioCodecs.cmake | 16 +++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 54e3cf92..327d2129 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -280,8 +280,9 @@ if(WIN32 AND NOT EMSCRIPTEN) list(REMOVE_ITEM SDLMixerX_LINK_LIBS "${LIBSDL2CUSTOM_LIB}") list(REMOVE_ITEM SDLMixerX_LINK_LIBS SDL2) list(REMOVE_ITEM SDLMixerX_LINK_LIBS SDL2d) + message("== VB6 binding: SDL2 name to link: ${AUDIOCODECS_SDL2_LIB_NAME}") list(APPEND SDLMixerX_LINK_LIBS - SDL2-static + ${AUDIOCODECS_SDL2_LIB_NAME} uuid winmm ole32 imm32 version oleaut32 user32 gdi32 setupapi) if(NOT MSVC) list(APPEND SDLMixerX_LINK_LIBS stdc++ gcc pthread) diff --git a/cmake/DownloadAudioCodecs.cmake b/cmake/DownloadAudioCodecs.cmake index cfddd364..51bf0518 100644 --- a/cmake/DownloadAudioCodecs.cmake +++ b/cmake/DownloadAudioCodecs.cmake @@ -48,7 +48,7 @@ endif() set(APPLE_FLAGS) if(APPLE) - set(APPLE_FLAGS + set(APPLE_FLAGS "-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}" "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}" ) @@ -73,6 +73,9 @@ option(AUDIOCODECS_BUILD_OPUS "Build Opus at AudioCodecs" ON) option(AUDIOCODECS_BUILD_FLUIDLITE "Build FluidLite at AudioCodecs" ON) option(AUDIOCODECS_BUILD_ADLMIDI "Build libADLMIDI at AudioCodecs" ON) option(AUDIOCODECS_BUILD_OPNMIDI "Build libOPNMIDI at AudioCodecs" ON) +option(AUDIOCODECS_BUILD_EDMIDI "Build libEDMIDI at AudioCodecs" ON) + +option(AUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED "Build shared version of SDL2 from local AudioCodecs' copy" ON) ExternalProject_Add( AudioCodecs @@ -80,11 +83,13 @@ ExternalProject_Add( GIT_REPOSITORY https://github.com/WohlSoft/AudioCodecs.git CMAKE_ARGS "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}" + "-DCMAKE_DEBUG_POSTFIX=${CMAKE_DEBUG_POSTFIX}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" "-DCMAKE_INSTALL_PREFIX=${AUDIO_CODECS_INSTALL_DIR}" "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}" "-DDOWNLOAD_SDL2_DEPENDENCY=${AUDIO_CODECS_DOWNLOAD_SDL}" "-DUSE_LOCAL_SDL2=${AUDIO_CODECS_BUILD_LOCAL_SDL2}" + "-DBUILD_SDL2_SHARED=${AUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED}" ${SDL2_WASAPI_FLAG} ${SDL2_TAGS} ${ADLMIDI_FLAGS} @@ -103,6 +108,15 @@ ExternalProject_Add( "-DBUILD_FLUIDLITE=${AUDIOCODECS_BUILD_FLUIDLITE}" "-DBUILD_ADLMIDI=${AUDIOCODECS_BUILD_ADLMIDI}" "-DBUILD_OPNMIDI=${AUDIOCODECS_BUILD_OPNMIDI}" + "-DBUILD_EDMIDI=${AUDIOCODECS_BUILD_EDMIDI}" ) +if(WIN32) # For VB6-targeted build only + if(AUDIO_CODECS_BUILD_LOCAL_SDL2_SHARED OR NOT MINGW) + set(AUDIOCODECS_SDL2_LIB_NAME SDL2-static${CMAKE_DEBUG_POSTFIX}) + else() + set(AUDIOCODECS_SDL2_LIB_NAME SDL2${CMAKE_DEBUG_POSTFIX}) + endif() +endif() + message("AudioCodecs can see SDL2 is stored in ${SDL2_REPO_PATH}...")