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})
|
add_library(bm_simd STATIC ${BENCHMARK_SIMD_SOURCES})
|
||||||
target_link_libraries(bm_simd PRIVATE absl::span sfizz::cpuid)
|
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)
|
add_library(bm_ftz STATIC ../src/sfizz/ScopedFTZ.cpp)
|
||||||
|
|
||||||
macro(sfizz_add_benchmark TARGET)
|
macro(sfizz_add_benchmark TARGET)
|
||||||
add_executable("${TARGET}" ${ARGN})
|
add_executable("${TARGET}" ${ARGN})
|
||||||
target_link_libraries("${TARGET}"
|
target_link_libraries("${TARGET}"
|
||||||
PRIVATE absl::span absl::algorithm
|
PRIVATE sfizz::filesystem absl::span absl::algorithm
|
||||||
PRIVATE benchmark::benchmark benchmark::benchmark_main
|
PRIVATE benchmark::benchmark benchmark::benchmark_main
|
||||||
PRIVATE bm_simd bm_ftz)
|
PRIVATE bm_simd bm_ftz)
|
||||||
if(LIBATOMIC_FOUND)
|
if(LIBATOMIC_FOUND)
|
||||||
target_link_libraries("${TARGET}" PRIVATE atomic)
|
target_link_libraries("${TARGET}" PRIVATE atomic)
|
||||||
endif()
|
endif()
|
||||||
target_include_directories("${TARGET}" PRIVATE ../src/sfizz ../src/external)
|
target_include_directories("${TARGET}" PRIVATE ../src/sfizz)
|
||||||
sfizz_enable_fast_math("${TARGET}")
|
sfizz_enable_fast_math("${TARGET}")
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
|
@ -75,7 +74,7 @@ target_link_libraries(bm_powerFollower PRIVATE sfizz::sfizz)
|
||||||
|
|
||||||
if(TARGET sfizz::samplerate)
|
if(TARGET sfizz::samplerate)
|
||||||
sfizz_add_benchmark(bm_resample BM_resample.cpp ${BENCHMARK_SIMD_SOURCES})
|
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()
|
endif()
|
||||||
|
|
||||||
sfizz_add_benchmark(bm_envelopes BM_envelopes.cpp)
|
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)
|
target_link_libraries(bm_readChunkFlac PRIVATE sfizz::sndfile)
|
||||||
|
|
||||||
sfizz_add_benchmark(bm_resampleChunk BM_resampleChunk.cpp)
|
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)
|
sfizz_add_benchmark(bm_interpolators BM_interpolators.cpp)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,6 @@ SFIZZ_SOURCES = \
|
||||||
### Other internal
|
### Other internal
|
||||||
|
|
||||||
SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/src/sfizz
|
SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/src/sfizz
|
||||||
SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/src/external
|
|
||||||
|
|
||||||
# Pkg-config dependency
|
# Pkg-config dependency
|
||||||
|
|
||||||
|
|
@ -175,6 +174,14 @@ SFIZZ_CXX_FLAGS += \
|
||||||
-I$(SFIZZ_DIR)/external/st_audiofile/thirdparty/libaiff
|
-I$(SFIZZ_DIR)/external/st_audiofile/thirdparty/libaiff
|
||||||
endif
|
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
|
### Abseil dependency
|
||||||
|
|
||||||
SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/external/abseil-cpp
|
SFIZZ_C_FLAGS += -I$(SFIZZ_DIR)/external/abseil-cpp
|
||||||
|
|
|
||||||
|
|
@ -37,10 +37,10 @@ if(TARGET Qt5::Widgets)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(eq_apply EQ.cpp)
|
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)
|
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)
|
add_executable(sfizz_plot_curve PlotCurve.cpp)
|
||||||
target_link_libraries(sfizz_plot_curve PRIVATE sfizz::sfizz)
|
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_include_directories(sfizz_editor PRIVATE ${sfizz-gio_INCLUDE_DIRS})
|
||||||
target_link_libraries(sfizz_editor PRIVATE ${sfizz-gio_LIBRARIES})
|
target_link_libraries(sfizz_editor PRIVATE ${sfizz-gio_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
target_include_directories(sfizz_editor PRIVATE "../src/external") # ghc::filesystem
|
target_link_libraries(sfizz_editor PRIVATE sfizz::filesystem)
|
||||||
|
|
||||||
# layout tool
|
# layout tool
|
||||||
if(NOT CMAKE_CROSSCOMPILING)
|
if(NOT CMAKE_CROSSCOMPILING)
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ clang-tidy \
|
||||||
vst/SfizzVstProcessor.cpp \
|
vst/SfizzVstProcessor.cpp \
|
||||||
vst/SfizzVstEditor.cpp \
|
vst/SfizzVstEditor.cpp \
|
||||||
vst/SfizzVstState.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 \
|
-Iexternal/st_audiofile/src -Iexternal/st_audiofile/thirdparty/dr_libs \
|
||||||
-Isrc/sfizz -Isrc -Isrc/external/spline -Isrc/external/cpuid/src \
|
-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 \
|
-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
|
# Sfizz parser library
|
||||||
add_library(sfizz_parser STATIC)
|
add_library(sfizz_parser STATIC)
|
||||||
|
add_library(sfizz::parser ALIAS sfizz_parser)
|
||||||
target_sources(sfizz_parser PRIVATE
|
target_sources(sfizz_parser PRIVATE
|
||||||
${SFIZZ_PARSER_HEADERS} ${SFIZZ_PARSER_SOURCES} ${SFIZZ_PARSER_OTHER})
|
${SFIZZ_PARSER_HEADERS} ${SFIZZ_PARSER_SOURCES} ${SFIZZ_PARSER_OTHER})
|
||||||
target_include_directories(sfizz_parser PUBLIC sfizz)
|
target_include_directories(sfizz_parser PUBLIC sfizz)
|
||||||
target_include_directories(sfizz_parser PUBLIC external)
|
target_link_libraries(sfizz_parser
|
||||||
target_link_libraries(sfizz_parser PUBLIC absl::strings PRIVATE absl::flat_hash_map)
|
PUBLIC sfizz::filesystem absl::strings
|
||||||
|
PRIVATE absl::flat_hash_map)
|
||||||
|
|
||||||
# OSC messaging library
|
# OSC messaging library
|
||||||
set(SFIZZ_MESSAGING_HEADERS
|
set(SFIZZ_MESSAGING_HEADERS
|
||||||
|
|
@ -237,12 +239,13 @@ target_link_libraries(sfizz_messaging PUBLIC absl::strings)
|
||||||
|
|
||||||
# Sfizz static library
|
# Sfizz static library
|
||||||
add_library(sfizz_static STATIC)
|
add_library(sfizz_static STATIC)
|
||||||
|
add_library(sfizz::static ALIAS sfizz_static)
|
||||||
target_sources(sfizz_static PRIVATE
|
target_sources(sfizz_static PRIVATE
|
||||||
${SFIZZ_HEADERS} ${SFIZZ_SOURCES} ${FAUST_FILES} sfizz/sfizz_wrapper.cpp sfizz/sfizz.cpp)
|
${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 .)
|
||||||
target_include_directories(sfizz_static PUBLIC external)
|
target_include_directories(sfizz_static PUBLIC external)
|
||||||
target_link_libraries(sfizz_static PUBLIC absl::strings absl::span)
|
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::kissfft sfizz::cpuid sfizz::jsl sfizz::atomic)
|
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")
|
set_target_properties(sfizz_static PROPERTIES OUTPUT_NAME sfizz PUBLIC_HEADER "sfizz.h;sfizz.hpp;sfizz_message.h")
|
||||||
if(SFIZZ_USE_SNDFILE)
|
if(SFIZZ_USE_SNDFILE)
|
||||||
target_compile_definitions(sfizz_static PUBLIC SFIZZ_USE_SNDFILE=1)
|
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)
|
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)
|
add_library(sfizz::sfizz ALIAS sfizz_static)
|
||||||
|
|
||||||
# Shared library and installation target
|
# Shared library and installation target
|
||||||
if(SFIZZ_SHARED)
|
if(SFIZZ_SHARED)
|
||||||
add_library(sfizz_shared SHARED)
|
add_library(sfizz_shared SHARED)
|
||||||
|
add_library(sfizz::shared ALIAS sfizz_shared)
|
||||||
target_sources(sfizz_shared PRIVATE
|
target_sources(sfizz_shared PRIVATE
|
||||||
${SFIZZ_HEADERS} ${SFIZZ_SOURCES} ${FAUST_FILES} sfizz/sfizz_wrapper.cpp sfizz/sfizz.cpp)
|
${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 .)
|
||||||
target_include_directories(sfizz_shared PRIVATE external)
|
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)
|
if(SFIZZ_USE_SNDFILE)
|
||||||
target_compile_definitions(sfizz_shared PUBLIC SFIZZ_USE_SNDFILE=1)
|
target_compile_definitions(sfizz_shared PUBLIC SFIZZ_USE_SNDFILE=1)
|
||||||
target_link_libraries(sfizz_shared PUBLIC st_audiofile)
|
target_link_libraries(sfizz_shared PUBLIC st_audiofile)
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ endif()
|
||||||
target_link_libraries(${VSTPLUGIN_PRJ_NAME}
|
target_link_libraries(${VSTPLUGIN_PRJ_NAME}
|
||||||
PRIVATE ${PROJECT_NAME}::${PROJECT_NAME}
|
PRIVATE ${PROJECT_NAME}::${PROJECT_NAME}
|
||||||
PRIVATE sfizz_editor
|
PRIVATE sfizz_editor
|
||||||
PRIVATE sfizz::pugixml)
|
PRIVATE sfizz::pugixml sfizz::filesystem)
|
||||||
target_include_directories(${VSTPLUGIN_PRJ_NAME}
|
target_include_directories(${VSTPLUGIN_PRJ_NAME}
|
||||||
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
|
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
|
||||||
|
|
@ -198,7 +198,7 @@ elseif(SFIZZ_AU)
|
||||||
target_link_libraries(${AUPLUGIN_PRJ_NAME}
|
target_link_libraries(${AUPLUGIN_PRJ_NAME}
|
||||||
PRIVATE ${PROJECT_NAME}::${PROJECT_NAME}
|
PRIVATE ${PROJECT_NAME}::${PROJECT_NAME}
|
||||||
PRIVATE sfizz_editor
|
PRIVATE sfizz_editor
|
||||||
PRIVATE sfizz::pugixml)
|
PRIVATE sfizz::pugixml sfizz::filesystem)
|
||||||
target_include_directories(${AUPLUGIN_PRJ_NAME}
|
target_include_directories(${AUPLUGIN_PRJ_NAME}
|
||||||
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||||
set_target_properties(${AUPLUGIN_PRJ_NAME} PROPERTIES
|
set_target_properties(${AUPLUGIN_PRJ_NAME} PROPERTIES
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue