diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index f862cf56..8df40548 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -1,9 +1,20 @@ set(CMAKE_C_CLANG_TIDY) -add_library(miniaudio STATIC - miniaudio/extras/miniaudio_split/miniaudio.c -) -target_include_directories(miniaudio PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/miniaudio/extras/miniaudio_split") +if(DOWNLOAD_DEPENDENCIES) + include(FetchContent) + FetchContent_Declare( + miniaudio + URL https://github.com/mackron/miniaudio/archive/refs/tags/0.11.22.tar.gz + URL_MD5 4944268151ad037f148b089237566d05 + ) + FetchContent_MakeAvailable(miniaudio) +else() + add_library(miniaudio STATIC + miniaudio/extras/miniaudio_split/miniaudio.c + ) + target_include_directories(miniaudio PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/miniaudio/extras/miniaudio_split") +endif() + set_property(TARGET miniaudio PROPERTY ARCHIVE_OUTPUT_NAME "miniaudio$<$:d>") # Disable most features since we don't need them. target_compile_definitions(miniaudio PUBLIC @@ -19,8 +30,20 @@ target_compile_definitions(miniaudio PUBLIC MA_NO_THREADING ) +if(DOWNLOAD_DEPENDENCIES) + include(FetchContent) + FetchContent_Declare( + libsmacker + URL https://github.com/foxtacles/libsmacker/archive/b3d4e97e0c95d5259d858495a5addd2d93bce5f4.tar.gz + URL_MD5 7f822319c489ec1a8e41c9f1e2629195 + ) + FetchContent_MakeAvailable(libsmacker) +else() + set(libsmacker_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/libsmacker") +endif() + add_library(libsmacker STATIC - libsmacker/smacker.c + ${libsmacker_SOURCE_DIR}/smacker.c ) set_property(TARGET libsmacker PROPERTY ARCHIVE_OUTPUT_NAME "libsmacker$<$:d>") -target_include_directories(libsmacker PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/libsmacker") +target_include_directories(libsmacker PUBLIC ${libsmacker_SOURCE_DIR})