浏览代码

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

minimp3: Add a .cpp file to simplify building the single-header implementation
Rémi Verschelde 2 年之前
父节点
当前提交
824820d73a
共有 4 个文件被更改,包括 26 次插入10 次删除
  1. 20 6
      modules/minimp3/SCsub
  2. 0 4
      modules/minimp3/audio_stream_mp3.cpp
  3. 1 0
      thirdparty/README.md
  4. 5 0
      thirdparty/minimp3/minimp3_ex.cpp

+ 20 - 6
modules/minimp3/SCsub

@@ -5,13 +5,27 @@ Import("env_modules")
 
 
 env_minimp3 = env_modules.Clone()
 env_minimp3 = env_modules.Clone()
 
 
+# Thirdparty source files
+
+thirdparty_obj = []
+
 thirdparty_dir = "#thirdparty/minimp3/"
 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
 # 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)

+ 0 - 4
modules/minimp3/audio_stream_mp3.cpp

@@ -28,10 +28,6 @@
 /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                 */
 /* 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 "audio_stream_mp3.h"
 
 
 #include "core/io/file_access.h"
 #include "core/io/file_access.h"

+ 1 - 0
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
 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.
 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
 ## miniupnpc

+ 5 - 0
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"