From d5f49595d3f331cbe9a033be7f58f71e998743d9 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Wed, 4 Nov 2020 09:53:59 +0100 Subject: [PATCH 1/2] Make sure to expose widechar sndfile API --- external/st_audiofile/src/st_audiofile.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/external/st_audiofile/src/st_audiofile.h b/external/st_audiofile/src/st_audiofile.h index 3fbcbfd8..64fd3230 100644 --- a/external/st_audiofile/src/st_audiofile.h +++ b/external/st_audiofile/src/st_audiofile.h @@ -6,6 +6,10 @@ #pragma once #if defined(ST_AUDIO_FILE_USE_SNDFILE) +#if defined(_WIN32) +#define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 +#include +#endif #include #endif #include From 65ca3adf65e4d368f45b2352eeaf53d6d9343acf Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Wed, 4 Nov 2020 10:17:04 +0100 Subject: [PATCH 2/2] Allow sfizz library targets to expose st_audiofile publicly This fixes the problems with programs which link sfizz internal API: the tests, benchmarks, demos. The MSVC comfiguration would fail to fail "sndfile.h" while building the tests. --- src/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 2eb30262..e8cb136c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -224,6 +224,7 @@ target_link_libraries (sfizz_static PRIVATE sfizz_parser absl::flat_hash_map Thr set_target_properties (sfizz_static PROPERTIES OUTPUT_NAME sfizz PUBLIC_HEADER "sfizz.h;sfizz.hpp") if(SFIZZ_USE_SNDFILE) target_compile_definitions (sfizz_static PUBLIC SFIZZ_USE_SNDFILE=1) + target_link_libraries (sfizz_static PUBLIC st_audiofile) endif() if (WIN32) target_compile_definitions (sfizz_static PRIVATE _USE_MATH_DEFINES) @@ -253,6 +254,7 @@ if (SFIZZ_SHARED) target_link_libraries (sfizz_shared PRIVATE absl::strings absl::span sfizz_parser absl::flat_hash_map Threads::Threads st_audiofile sfizz-pugixml sfizz-spline sfizz-tunings sfizz-kissfft sfizz-cpuid sfizz-jsl sfizz-atomic) if(SFIZZ_USE_SNDFILE) target_compile_definitions (sfizz_shared PUBLIC SFIZZ_USE_SNDFILE=1) + target_link_libraries (sfizz_shared PUBLIC st_audiofile) endif() if (WIN32) target_compile_definitions (sfizz_shared PRIVATE _USE_MATH_DEFINES)