Use hiir and filesystem as interface libraries
This commit is contained in:
parent
bd3f660c12
commit
96a462e20d
7 changed files with 27 additions and 18 deletions
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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 \
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue