Merge pull request #78271 from akien-mga/minimp3-add-cpp-for-implementation

minimp3: Add a .cpp file to simplify building the single-header implementation
This commit is contained in:
Rémi Verschelde 2023-06-15 15:27:28 +02:00
commit 824820d73a
No known key found for this signature in database
GPG key ID: C3336907360768E1
4 changed files with 27 additions and 11 deletions

View file

@ -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)

View file

@ -28,10 +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"

View file

@ -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

5
thirdparty/minimp3/minimp3_ex.cpp vendored Normal file
View file

@ -0,0 +1,5 @@
#define MINIMP3_IMPLEMENTATION
#define MINIMP3_FLOAT_OUTPUT
#define MINIMP3_ONLY_MP3
#define MINIMP3_NO_STDIO
#include "minimp3_ex.h"