diff --git a/modules/minimp3/SCsub b/modules/minimp3/SCsub index 20e3165f38b..0f86ed5a88c 100644 --- a/modules/minimp3/SCsub +++ b/modules/minimp3/SCsub @@ -5,13 +5,27 @@ Import("env_modules") env_minimp3 = env_modules.Clone() -thirdparty_dir = "#thirdparty/minimp3/" +# Thirdparty source files + +thirdparty_obj = [] + +thirdparty_dir = "#thirdparty/minimp3/" +thirdparty_sources = [thirdparty_dir + "minimp3_ex.cpp"] + +env_minimp3.Prepend(CPPPATH=[thirdparty_dir]) + +env_thirdparty = env_minimp3.Clone() +env_thirdparty.disable_warnings() +env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources) +env.modules_sources += thirdparty_obj -# Treat minimp3 headers as system headers to avoid raising warnings. Not supported on MSVC. -if not env.msvc: - env_minimp3.Append(CPPFLAGS=["-isystem", Dir(thirdparty_dir).path]) -else: - env_minimp3.Prepend(CPPPATH=[thirdparty_dir]) # Godot source files -env_minimp3.add_source_files(env.modules_sources, "*.cpp") + +module_obj = [] + +env_minimp3.add_source_files(module_obj, "*.cpp") +env.modules_sources += module_obj + +# Needed to force rebuilding the module files when the thirdparty library is updated. +env.Depends(module_obj, thirdparty_obj) diff --git a/modules/minimp3/audio_stream_mp3.cpp b/modules/minimp3/audio_stream_mp3.cpp index 6af86a96dcf..c63ec3cad05 100644 --- a/modules/minimp3/audio_stream_mp3.cpp +++ b/modules/minimp3/audio_stream_mp3.cpp @@ -28,11 +28,6 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /**************************************************************************/ -#define MINIMP3_ONLY_MP3 -#define MINIMP3_FLOAT_OUTPUT -#define MINIMP3_IMPLEMENTATION -#define MINIMP3_NO_STDIO - #include "audio_stream_mp3.h" #include "core/io/file_access.h" diff --git a/thirdparty/README.md b/thirdparty/README.md index 0d5f3dd4c41..d34af58e8e6 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -416,6 +416,7 @@ Files extracted from upstream repository: Some changes have been made in order to fix Windows on ARM build errors, and to solve some MSVC warnings. See the patches in the `patches` directory. +`minimp3_ex.cpp` was created to simplify the use of the single header library. ## miniupnpc diff --git a/thirdparty/minimp3/minimp3_ex.cpp b/thirdparty/minimp3/minimp3_ex.cpp new file mode 100644 index 00000000000..49c083e4f11 --- /dev/null +++ b/thirdparty/minimp3/minimp3_ex.cpp @@ -0,0 +1,5 @@ +#define MINIMP3_IMPLEMENTATION +#define MINIMP3_FLOAT_OUTPUT +#define MINIMP3_ONLY_MP3 +#define MINIMP3_NO_STDIO +#include "minimp3_ex.h"