diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index a72c9f6c..89c85a56 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -20,19 +20,18 @@ endif() add_library(bm_simd STATIC ${BENCHMARK_SIMD_SOURCES}) target_link_libraries(bm_simd PRIVATE absl::span sfizz::cpuid) -target_include_directories(bm_simd PRIVATE ../src/external) add_library(bm_ftz STATIC ../src/sfizz/ScopedFTZ.cpp) macro(sfizz_add_benchmark TARGET) add_executable("${TARGET}" ${ARGN}) target_link_libraries("${TARGET}" - PRIVATE absl::span absl::algorithm + PRIVATE sfizz::filesystem absl::span absl::algorithm PRIVATE benchmark::benchmark benchmark::benchmark_main PRIVATE bm_simd bm_ftz) if(LIBATOMIC_FOUND) target_link_libraries("${TARGET}" PRIVATE atomic) endif() - target_include_directories("${TARGET}" PRIVATE ../src/sfizz ../src/external) + target_include_directories("${TARGET}" PRIVATE ../src/sfizz) sfizz_enable_fast_math("${TARGET}") endmacro() @@ -75,7 +74,7 @@ target_link_libraries(bm_powerFollower PRIVATE sfizz::sfizz) if(TARGET sfizz::samplerate) sfizz_add_benchmark(bm_resample BM_resample.cpp ${BENCHMARK_SIMD_SOURCES}) -target_link_libraries(bm_resample PRIVATE sfizz::samplerate sfizz::sndfile sfizz::cpuid) +target_link_libraries(bm_resample PRIVATE sfizz::samplerate sfizz::sndfile sfizz::cpuid sfizz::hiir) endif() sfizz_add_benchmark(bm_envelopes BM_envelopes.cpp) @@ -95,7 +94,7 @@ sfizz_add_benchmark(bm_readChunkFlac BM_readChunkFlac.cpp) target_link_libraries(bm_readChunkFlac PRIVATE sfizz::sndfile) sfizz_add_benchmark(bm_resampleChunk BM_resampleChunk.cpp) -target_link_libraries(bm_resampleChunk PRIVATE sfizz::sndfile) +target_link_libraries(bm_resampleChunk PRIVATE sfizz::sndfile sfizz::hiir) sfizz_add_benchmark(bm_interpolators BM_interpolators.cpp) diff --git a/common.mk b/common.mk index 4f3289fa..cda6e2e4 100644 --- a/common.mk +++ b/common.mk @@ -126,7 +126,6 @@ SFIZZ_SOURCES = \ ### Other internal SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/src/sfizz -SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/src/external # Pkg-config dependency @@ -175,6 +174,14 @@ SFIZZ_CXX_FLAGS += \ -I$(SFIZZ_DIR)/external/st_audiofile/thirdparty/libaiff endif +# hiir dependency + +SFIZZ_CXX_FLAGS += -I$(SFIZZ_DIR)/src/external/hiir + +# ghc::filesystem dependency + +SFIZZ_CXX_FLAGS += -I$(SFIZZ_DIR)/external/filesystem/include + ### Abseil dependency SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/external/abseil-cpp diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index ba349140..b2d715f8 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -37,10 +37,10 @@ if(TARGET Qt5::Widgets) endif() add_executable(eq_apply EQ.cpp) -target_link_libraries(eq_apply PRIVATE sfizz::sfizz sfizz::sndfile sfizz::cxxopts) +target_link_libraries(eq_apply PRIVATE sfizz::sfizz sfizz::sndfile sfizz::cxxopts sfizz::filesystem) add_executable(filter_apply Filter.cpp) -target_link_libraries(filter_apply PRIVATE sfizz::sfizz sfizz::sndfile sfizz::cxxopts) +target_link_libraries(filter_apply PRIVATE sfizz::sfizz sfizz::sndfile sfizz::cxxopts sfizz::filesystem) add_executable(sfizz_plot_curve PlotCurve.cpp) target_link_libraries(sfizz_plot_curve PRIVATE sfizz::sfizz) diff --git a/editor/CMakeLists.txt b/editor/CMakeLists.txt index 9517c51e..34405afb 100644 --- a/editor/CMakeLists.txt +++ b/editor/CMakeLists.txt @@ -69,7 +69,7 @@ else() target_include_directories(sfizz_editor PRIVATE ${sfizz-gio_INCLUDE_DIRS}) target_link_libraries(sfizz_editor PRIVATE ${sfizz-gio_LIBRARIES}) endif() -target_include_directories(sfizz_editor PRIVATE "../src/external") # ghc::filesystem +target_link_libraries(sfizz_editor PRIVATE sfizz::filesystem) # layout tool if(NOT CMAKE_CROSSCOMPILING) diff --git a/scripts/run_clang_tidy.sh b/scripts/run_clang_tidy.sh index 18d0b08f..7c2894aa 100755 --- a/scripts/run_clang_tidy.sh +++ b/scripts/run_clang_tidy.sh @@ -30,7 +30,7 @@ clang-tidy \ vst/SfizzVstProcessor.cpp \ vst/SfizzVstEditor.cpp \ vst/SfizzVstState.cpp \ - -- -Iexternal/abseil-cpp -Iexternal/jsl/include -Isrc/external -Isrc/external/pugixml/src \ + -- -Iexternal/abseil-cpp -Iexternal/jsl/include -Iexternal/filesystem/include -Isrc/external/hiir -Isrc/external/pugixml/src \ -Iexternal/st_audiofile/src -Iexternal/st_audiofile/thirdparty/dr_libs \ -Isrc/sfizz -Isrc -Isrc/external/spline -Isrc/external/cpuid/src \ -Ivst -Ivst/external/VST_SDK/VST3_SDK -Ivst/external/VST_SDK/VST3_SDK/vstgui4 -Ivst/external/ring_buffer \ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ed93df85..a10b3aa7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -214,11 +214,13 @@ source_group("Other Files" FILES ${SFIZZ_PARSER_OTHER}) # Sfizz parser library add_library(sfizz_parser STATIC) +add_library(sfizz::parser ALIAS sfizz_parser) target_sources(sfizz_parser PRIVATE ${SFIZZ_PARSER_HEADERS} ${SFIZZ_PARSER_SOURCES} ${SFIZZ_PARSER_OTHER}) target_include_directories(sfizz_parser PUBLIC sfizz) -target_include_directories(sfizz_parser PUBLIC external) -target_link_libraries(sfizz_parser PUBLIC absl::strings PRIVATE absl::flat_hash_map) +target_link_libraries(sfizz_parser + PUBLIC sfizz::filesystem absl::strings + PRIVATE absl::flat_hash_map) # OSC messaging library set(SFIZZ_MESSAGING_HEADERS @@ -237,12 +239,13 @@ target_link_libraries(sfizz_messaging PUBLIC absl::strings) # Sfizz static library add_library(sfizz_static STATIC) +add_library(sfizz::static ALIAS sfizz_static) target_sources(sfizz_static PRIVATE ${SFIZZ_HEADERS} ${SFIZZ_SOURCES} ${FAUST_FILES} sfizz/sfizz_wrapper.cpp sfizz/sfizz.cpp) target_include_directories(sfizz_static PUBLIC .) target_include_directories(sfizz_static PUBLIC external) -target_link_libraries(sfizz_static PUBLIC absl::strings absl::span) -target_link_libraries(sfizz_static PRIVATE sfizz_parser sfizz_messaging absl::flat_hash_map Threads::Threads st_audiofile sfizz::pugixml sfizz::spline sfizz::tunings sfizz::kissfft sfizz::cpuid sfizz::jsl sfizz::atomic) +target_link_libraries(sfizz_static PUBLIC absl::strings absl::span sfizz::filesystem) +target_link_libraries(sfizz_static PRIVATE sfizz_parser sfizz_messaging absl::flat_hash_map Threads::Threads st_audiofile sfizz::pugixml sfizz::spline sfizz::tunings sfizz::hiir sfizz::kissfft sfizz::cpuid sfizz::jsl sfizz::atomic) set_target_properties(sfizz_static PROPERTIES OUTPUT_NAME sfizz PUBLIC_HEADER "sfizz.h;sfizz.hpp;sfizz_message.h") if(SFIZZ_USE_SNDFILE) target_compile_definitions(sfizz_static PUBLIC SFIZZ_USE_SNDFILE=1) @@ -263,17 +266,17 @@ endif() configure_file(${PROJECT_SOURCE_DIR}/scripts/doxygen/Doxyfile.in ${PROJECT_SOURCE_DIR}/Doxyfile @ONLY) -add_library(sfizz::parser ALIAS sfizz_parser) add_library(sfizz::sfizz ALIAS sfizz_static) # Shared library and installation target if(SFIZZ_SHARED) add_library(sfizz_shared SHARED) + add_library(sfizz::shared ALIAS sfizz_shared) target_sources(sfizz_shared PRIVATE ${SFIZZ_HEADERS} ${SFIZZ_SOURCES} ${FAUST_FILES} sfizz/sfizz_wrapper.cpp sfizz/sfizz.cpp) target_include_directories(sfizz_shared PRIVATE .) target_include_directories(sfizz_shared PRIVATE external) - target_link_libraries(sfizz_shared PRIVATE absl::strings absl::span sfizz_parser sfizz_messaging absl::flat_hash_map Threads::Threads st_audiofile sfizz::pugixml sfizz::spline sfizz::tunings sfizz::kissfft sfizz::cpuid sfizz::jsl sfizz::atomic) + target_link_libraries(sfizz_shared PRIVATE absl::strings absl::span sfizz_parser sfizz_messaging absl::flat_hash_map Threads::Threads st_audiofile sfizz::pugixml sfizz::spline sfizz::tunings sfizz::hiir sfizz::kissfft sfizz::cpuid sfizz::jsl sfizz::filesystem sfizz::atomic) if(SFIZZ_USE_SNDFILE) target_compile_definitions(sfizz_shared PUBLIC SFIZZ_USE_SNDFILE=1) target_link_libraries(sfizz_shared PUBLIC st_audiofile) diff --git a/vst/CMakeLists.txt b/vst/CMakeLists.txt index 468b6f1f..2b215fc5 100644 --- a/vst/CMakeLists.txt +++ b/vst/CMakeLists.txt @@ -60,7 +60,7 @@ endif() target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE ${PROJECT_NAME}::${PROJECT_NAME} PRIVATE sfizz_editor - PRIVATE sfizz::pugixml) + PRIVATE sfizz::pugixml sfizz::filesystem) target_include_directories(${VSTPLUGIN_PRJ_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES @@ -198,7 +198,7 @@ elseif(SFIZZ_AU) target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE ${PROJECT_NAME}::${PROJECT_NAME} PRIVATE sfizz_editor - PRIVATE sfizz::pugixml) + PRIVATE sfizz::pugixml sfizz::filesystem) target_include_directories(${AUPLUGIN_PRJ_NAME} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") set_target_properties(${AUPLUGIN_PRJ_NAME} PROPERTIES