ft2-clone

Fasttracker 2 clone
Log | Files | Refs | README | LICENSE

commit cdf6e4c63a992821a2a4b05c66e8326fc94d410c
parent b1e009f93c40ddaf5c9c663b4dfae82b2e90d1d2
Author: Olav Sørensen <olav.sorensen@live.no>
Date:   Thu, 16 Dec 2021 17:37:46 +0100

Merge pull request #27 from niclasr/external-flac

Allow using external libflac
Diffstat:
MCMakeLists.txt | 16+++++++++++++++-
Msrc/smploaders/ft2_load_flac.c | 5+++++
2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt @@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.7) project(ft2-clone) +option(EXTERNAL_LIBFLAC "use external(system) flac library" OFF) + find_package(SDL2 REQUIRED) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${ft2-clone_SOURCE_DIR}/release/other/") @@ -13,7 +15,6 @@ file(GLOB ft2-clone_SRC "${ft2-clone_SOURCE_DIR}/src/scopes/*.c" "${ft2-clone_SOURCE_DIR}/src/modloaders/*.c" "${ft2-clone_SOURCE_DIR}/src/smploaders/*.c" - "${ft2-clone_SOURCE_DIR}/src/libflac/*.c" ) add_executable(ft2-clone ${ft2-clone_SRC}) @@ -34,5 +35,18 @@ target_compile_definitions(ft2-clone PRIVATE __LINUX_ALSA__ PRIVATE HAS_LIBFLAC) +if(EXTERNAL_LIBFLAC) + find_package(PkgConfig REQUIRED) + pkg_check_modules(FLAC REQUIRED IMPORTED_TARGET flac) + target_compile_definitions(ft2-clone + PRIVATE EXTERNAL_LIBFLAC) + target_link_libraries(ft2-clone + PRIVATE PkgConfig::FLAC) +else() + file(GLOB flac_SRCS + "${ft2-clone_SOURCE_DIR}/src/libflac/*.c") + target_sources(ft2-clone PRIVATE ${flac_SRCS}) +endif() + install(TARGETS ft2-clone RUNTIME DESTINATION bin) diff --git a/src/smploaders/ft2_load_flac.c b/src/smploaders/ft2_load_flac.c @@ -25,7 +25,12 @@ #include "../ft2_sample_ed.h" #include "../ft2_sysreqs.h" #include "../ft2_sample_loader.h" + +#ifdef EXTERNAL_LIBFLAC +#include <FLAC/stream_decoder.h> +#else #include "../libflac/FLAC/stream_decoder.h" +#endif static bool sample16Bit; static int16_t stereoSampleLoadMode = -1;