From 40271858bd574ab0e153c2999273386e0d927908 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Fri, 7 Jun 2024 16:15:09 -0400 Subject: [PATCH] Add miniaudio --- .gitmodules | 3 +++ 3rdparty/miniaudio | 1 + CMakeLists.txt | 22 +++++++++++++++++++++- 3 files changed, 25 insertions(+), 1 deletion(-) create mode 160000 3rdparty/miniaudio diff --git a/.gitmodules b/.gitmodules index 6eaccdb5..957a7f79 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "3rdparty/libsmacker"] path = 3rdparty/libsmacker url = https://github.com/foxtacles/libsmacker +[submodule "3rdparty/miniaudio"] + path = 3rdparty/miniaudio + url = https://github.com/mackron/miniaudio diff --git a/3rdparty/miniaudio b/3rdparty/miniaudio new file mode 160000 index 00000000..4a5b74be --- /dev/null +++ b/3rdparty/miniaudio @@ -0,0 +1 @@ +Subproject commit 4a5b74bef029b3592c54b6048650ee5f972c1a48 diff --git a/CMakeLists.txt b/CMakeLists.txt index 406edcab..006bd798 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -122,6 +122,26 @@ set_property(TARGET libsmacker PROPERTY ARCHIVE_OUTPUT_NAME "libsmacker$<$:d>") +set_property(TARGET miniaudio PROPERTY INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/3rdparty/miniaudio/extras/miniaudio_split") +target_include_directories(miniaudio PRIVATE "${CMAKE_SOURCE_DIR}/3rdparty/miniaudio/extras/miniaudio_split") +# Disable most features since we don't need them. +target_compile_definitions(miniaudio PUBLIC + MA_ENABLE_ONLY_SPECIFIC_BACKENDS + MA_NO_DECODING + MA_NO_ENCODING + MA_NO_WAV + MA_NO_FLAC + MA_NO_MP3 + MA_NO_DEVICE_IO + MA_NO_RESOURCE_MANAGER + MA_NO_GENERATION +) + add_library(tglrl STATIC LEGO1/tgl/d3drm/camera.cpp LEGO1/tgl/d3drm/device.cpp @@ -314,7 +334,7 @@ add_library(omni STATIC register_lego1_target(omni) set_property(TARGET omni PROPERTY ARCHIVE_OUTPUT_NAME "omni$<$:d>") target_include_directories(omni PRIVATE "${CMAKE_SOURCE_DIR}/LEGO1/omni/include" "${CMAKE_SOURCE_DIR}/LEGO1" "${CMAKE_SOURCE_DIR}/util") -target_link_libraries(omni PRIVATE dsound winmm libsmacker) +target_link_libraries(omni PRIVATE dsound winmm libsmacker miniaudio) add_library(lego1 SHARED LEGO1/define.cpp