From a3f93f5d0b41bdbf6a18c763e4d8e743d7fbf05d Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Mon, 14 Dec 2020 14:11:57 +0100 Subject: [PATCH] Reorganize the dependency checking --- CMakeLists.txt | 1 + clients/CMakeLists.txt | 14 +- cmake/SfizzConfig.cmake | 109 ------------ cmake/SfizzDeps.cmake | 165 ++++++++++++++++++ demos/CMakeLists.txt | 42 ++--- devtools/CMakeLists.txt | 14 +- .../external => external}/fmidi/LICENSE.md | 0 .../fmidi/sources/fmidi/fmidi.h | 0 .../fmidi/sources/fmidi/fmidi_mini.cpp | 0 src/CMakeLists.txt | 3 - src/external/cpuid/CMakeLists.txt | 7 - src/external/kiss_fft/CMakeLists.txt | 13 -- 12 files changed, 187 insertions(+), 181 deletions(-) create mode 100644 cmake/SfizzDeps.cmake rename {clients/external => external}/fmidi/LICENSE.md (100%) rename {clients/external => external}/fmidi/sources/fmidi/fmidi.h (100%) rename {clients/external => external}/fmidi/sources/fmidi/fmidi_mini.cpp (100%) delete mode 100644 src/external/cpuid/CMakeLists.txt delete mode 100644 src/external/kiss_fft/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 83c8c5a5..e26cc1bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,7 @@ option (SFIZZ_STATIC_DEPENDENCIES "Link dependencies statically [default: OFF]" option (SFIZZ_RELEASE_ASSERTS "Forced assertions in release builds [default: OFF]" OFF) include (SfizzConfig) +include (SfizzDeps) # Don't use IPO in non Release builds include (CheckIPO) diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt index 633dc727..a48af11a 100644 --- a/clients/CMakeLists.txt +++ b/clients/CMakeLists.txt @@ -1,24 +1,12 @@ if(SFIZZ_JACK) - find_package(PkgConfig REQUIRED) - pkg_check_modules(JACK "jack" REQUIRED) - link_directories(${JACK_LIBRARY_DIRS}) - add_executable(sfizz_jack MidiHelpers.h jack_client.cpp) - target_include_directories(sfizz_jack PRIVATE ${JACK_INCLUDE_DIRS}) - target_link_libraries(sfizz_jack PRIVATE sfizz::sfizz absl::flags_parse ${JACK_LIBRARIES}) + target_link_libraries(sfizz_jack PRIVATE sfizz::sfizz sfizz::jack absl::flags_parse) sfizz_enable_lto_if_needed(sfizz_jack) install(TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "jack" OPTIONAL) endif() if(SFIZZ_RENDER) - add_library(sfizz_fmidi STATIC - "external/fmidi/sources/fmidi/fmidi.h" - "external/fmidi/sources/fmidi/fmidi_mini.cpp") - add_library(sfizz::fmidi ALIAS sfizz_fmidi) - target_include_directories(sfizz_fmidi PUBLIC "external/fmidi/sources") - target_compile_definitions(sfizz_fmidi PUBLIC "FMIDI_STATIC=1" "FMIDI_DISABLE_DESCRIBE_API=1") - add_executable(sfizz_render MidiHelpers.h sfizz_render.cpp) target_link_libraries(sfizz_render PRIVATE sfizz::internal sfizz::fmidi sfizz::sndfile sfizz::cxxopts) sfizz_enable_lto_if_needed(sfizz_render) diff --git a/cmake/SfizzConfig.cmake b/cmake/SfizzConfig.cmake index 4b6727c4..56580ed3 100644 --- a/cmake/SfizzConfig.cmake +++ b/cmake/SfizzConfig.cmake @@ -1,6 +1,5 @@ include(CMakeDependentOption) include(CheckCXXCompilerFlag) -include(CheckLibraryExists) include(GNUWarnings) set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to be used") @@ -30,26 +29,6 @@ if(WIN32) add_compile_definitions(NOMINMAX) endif() -# Find macOS system libraries -if(APPLE) - find_library(APPLE_COREFOUNDATION_LIBRARY "CoreFoundation") - find_library(APPLE_FOUNDATION_LIBRARY "Foundation") - find_library(APPLE_COCOA_LIBRARY "Cocoa") - find_library(APPLE_CARBON_LIBRARY "Carbon") - find_library(APPLE_OPENGL_LIBRARY "OpenGL") - find_library(APPLE_ACCELERATE_LIBRARY "Accelerate") - find_library(APPLE_QUARTZCORE_LIBRARY "QuartzCore") - find_library(APPLE_AUDIOTOOLBOX_LIBRARY "AudioToolbox") - find_library(APPLE_AUDIOUNIT_LIBRARY "AudioUnit") - find_library(APPLE_COREAUDIO_LIBRARY "CoreAudio") - find_library(APPLE_COREMIDI_LIBRARY "CoreMIDI") - # See https://stackoverflow.com/a/54103956 - # and https://stackoverflow.com/a/21692023 - # Apparently this is not needed in Travis CI using addons - # but it is in Appveyor instead - list(APPEND CMAKE_PREFIX_PATH /usr/local) -endif() - # The variable CMAKE_SYSTEM_PROCESSOR is incorrect on Visual studio... # see https://gitlab.kitware.com/cmake/cmake/issues/15170 @@ -90,48 +69,6 @@ function(sfizz_enable_fast_math NAME) endif() endfunction() -# The jsl utility library for C++ -add_library(sfizz_jsl INTERFACE) -add_library(sfizz::jsl ALIAS sfizz_jsl) -target_include_directories(sfizz_jsl INTERFACE "external/jsl/include") - -# The cxxopts library -add_library(sfizz_cxxopts INTERFACE) -add_library(sfizz::cxxopts ALIAS sfizz_cxxopts) -target_include_directories(sfizz_cxxopts INTERFACE "external/cxxopts") - -# The sndfile library -if(SFIZZ_USE_SNDFILE OR SFIZZ_DEMOS OR SFIZZ_BENCHMARKS OR SFIZZ_RENDER) - add_library(sfizz_sndfile INTERFACE) - add_library(sfizz::sndfile ALIAS sfizz_sndfile) - if(SFIZZ_USE_VCPKG OR CMAKE_CXX_COMPILER_ID MATCHES "MSVC") - find_package(SndFile CONFIG REQUIRED) - find_path(SNDFILE_INCLUDE_DIR "sndfile.hh") - target_include_directories(sfizz_sndfile INTERFACE "${SNDFILE_INCLUDE_DIR}") - target_link_libraries(sfizz_sndfile INTERFACE SndFile::sndfile) - else() - find_package(PkgConfig REQUIRED) - pkg_check_modules(SNDFILE "sndfile" REQUIRED) - target_include_directories(sfizz_sndfile INTERFACE ${SNDFILE_INCLUDE_DIRS}) - if(SFIZZ_STATIC_DEPENDENCIES) - target_link_libraries(sfizz_sndfile INTERFACE ${SNDFILE_STATIC_LIBRARIES}) - else() - target_link_libraries(sfizz_sndfile INTERFACE ${SNDFILE_LIBRARIES}) - endif() - link_directories(${SNDFILE_LIBRARY_DIRS}) - endif() -endif() - -# The st_audiofile library -if(SFIZZ_USE_SNDFILE) - set(ST_AUDIO_FILE_USE_SNDFILE ON CACHE BOOL "" FORCE) - set(ST_AUDIO_FILE_EXTERNAL_SNDFILE "sfizz::sndfile" CACHE STRING "" FORCE) -else() - set(ST_AUDIO_FILE_USE_SNDFILE OFF CACHE BOOL "" FORCE) - set(ST_AUDIO_FILE_EXTERNAL_SNDFILE "" CACHE STRING "" FORCE) -endif() -add_subdirectory("external/st_audiofile" EXCLUDE_FROM_ALL) - # If we build with Clang, optionally use libc++. Enabled by default on Apple OS. cmake_dependent_option(USE_LIBCPP "Use libc++ with clang" "${APPLE}" "CMAKE_CXX_COMPILER_ID MATCHES Clang" OFF) @@ -142,49 +79,6 @@ if(USE_LIBCPP) add_link_options(-lc++abi) # New command on CMake master, not in 3.12 release endif() -add_library(sfizz_pugixml STATIC "src/external/pugixml/src/pugixml.cpp") -add_library(sfizz::pugixml ALIAS sfizz_pugixml) -target_include_directories(sfizz_pugixml PUBLIC "src/external/pugixml/src") - -add_library(sfizz_spline STATIC "src/external/spline/spline/spline.cpp") -add_library(sfizz::spline ALIAS sfizz_spline) -target_include_directories(sfizz_spline PUBLIC "src/external/spline") - -add_library(sfizz_tunings STATIC "src/external/tunings/src/Tunings.cpp") -add_library(sfizz::tunings ALIAS sfizz_tunings) -target_include_directories(sfizz_tunings PUBLIC "src/external/tunings/include") - -add_library(sfizz_hiir INTERFACE) -add_library(sfizz::hiir ALIAS sfizz_hiir) -target_include_directories(sfizz_hiir INTERFACE "src/external/hiir") - -add_library(sfizz_threadpool INTERFACE) -add_library(sfizz::threadpool ALIAS sfizz_threadpool) -target_include_directories(sfizz_threadpool INTERFACE "external/threadpool") - -add_library(sfizz_atomic_queue INTERFACE) -add_library(sfizz::atomic_queue ALIAS sfizz_atomic_queue) -target_include_directories(sfizz_atomic_queue INTERFACE "external/atomic_queue/include") - -add_library(sfizz_filesystem INTERFACE) -add_library(sfizz::filesystem ALIAS sfizz_filesystem) -target_include_directories(sfizz_filesystem INTERFACE "external/filesystem/include") - -add_library(sfizz_atomic INTERFACE) -add_library(sfizz::atomic ALIAS sfizz_atomic) -if(UNIX AND NOT APPLE) - file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic") - file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic/check_libatomic.c" "int main() { return 0; }") - try_compile(SFIZZ_LINK_LIBATOMIC "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic" - SOURCES "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic/check_libatomic.c" - LINK_LIBRARIES "atomic") - if(SFIZZ_LINK_LIBATOMIC) - target_link_libraries(sfizz_atomic INTERFACE "atomic") - endif() -else() - set(SFIZZ_LINK_LIBATOMIC FALSE) -endif() - # Don't show build information when building a different project function(show_build_info_if_needed) if(CMAKE_PROJECT_NAME STREQUAL "sfizz") @@ -204,7 +98,6 @@ Build tests: ${SFIZZ_TESTS} Use sndfile: ${SFIZZ_USE_SNDFILE} Use vcpkg: ${SFIZZ_USE_VCPKG} Statically link dependencies: ${SFIZZ_STATIC_DEPENDENCIES} -Link libatomic: ${SFIZZ_LINK_LIBATOMIC} Use clang libc++: ${USE_LIBCPP} Release asserts: ${SFIZZ_RELEASE_ASSERTS} @@ -217,5 +110,3 @@ Compiler CXX min size flags: ${CMAKE_CXX_FLAGS_MINSIZEREL} ") endif() endfunction() - -find_package(Threads REQUIRED) diff --git a/cmake/SfizzDeps.cmake b/cmake/SfizzDeps.cmake new file mode 100644 index 00000000..a5dcee06 --- /dev/null +++ b/cmake/SfizzDeps.cmake @@ -0,0 +1,165 @@ +# Find system threads +find_package(Threads REQUIRED) + +# Find macOS system libraries +if(APPLE) + find_library(APPLE_COREFOUNDATION_LIBRARY "CoreFoundation") + find_library(APPLE_FOUNDATION_LIBRARY "Foundation") + find_library(APPLE_COCOA_LIBRARY "Cocoa") + find_library(APPLE_CARBON_LIBRARY "Carbon") + find_library(APPLE_OPENGL_LIBRARY "OpenGL") + find_library(APPLE_ACCELERATE_LIBRARY "Accelerate") + find_library(APPLE_QUARTZCORE_LIBRARY "QuartzCore") + find_library(APPLE_AUDIOTOOLBOX_LIBRARY "AudioToolbox") + find_library(APPLE_AUDIOUNIT_LIBRARY "AudioUnit") + find_library(APPLE_COREAUDIO_LIBRARY "CoreAudio") + find_library(APPLE_COREMIDI_LIBRARY "CoreMIDI") +endif() + +# Set up macOS library paths +if(APPLE) + # See https://stackoverflow.com/a/54103956 + # and https://stackoverflow.com/a/21692023 + # Apparently this is not needed in Travis CI using addons + # but it is in Appveyor instead + list(APPEND CMAKE_PREFIX_PATH /usr/local) +endif() + +# The jsl utility library for C++ +add_library(sfizz_jsl INTERFACE) +add_library(sfizz::jsl ALIAS sfizz_jsl) +target_include_directories(sfizz_jsl INTERFACE "external/jsl/include") + +# The cxxopts library +add_library(sfizz_cxxopts INTERFACE) +add_library(sfizz::cxxopts ALIAS sfizz_cxxopts) +target_include_directories(sfizz_cxxopts INTERFACE "external/cxxopts") + +# The sndfile library +if(SFIZZ_USE_SNDFILE OR SFIZZ_DEMOS OR SFIZZ_BENCHMARKS OR SFIZZ_RENDER) + add_library(sfizz_sndfile INTERFACE) + add_library(sfizz::sndfile ALIAS sfizz_sndfile) + if(SFIZZ_USE_VCPKG OR CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + find_package(SndFile CONFIG REQUIRED) + find_path(SNDFILE_INCLUDE_DIR "sndfile.hh") + target_include_directories(sfizz_sndfile INTERFACE "${SNDFILE_INCLUDE_DIR}") + target_link_libraries(sfizz_sndfile INTERFACE SndFile::sndfile) + else() + find_package(PkgConfig REQUIRED) + pkg_check_modules(SNDFILE "sndfile" REQUIRED) + target_include_directories(sfizz_sndfile INTERFACE ${SNDFILE_INCLUDE_DIRS}) + if(SFIZZ_STATIC_DEPENDENCIES) + target_link_libraries(sfizz_sndfile INTERFACE ${SNDFILE_STATIC_LIBRARIES}) + else() + target_link_libraries(sfizz_sndfile INTERFACE ${SNDFILE_LIBRARIES}) + endif() + link_directories(${SNDFILE_LIBRARY_DIRS}) + endif() +endif() + +# The st_audiofile library +if(SFIZZ_USE_SNDFILE) + set(ST_AUDIO_FILE_USE_SNDFILE ON CACHE BOOL "" FORCE) + set(ST_AUDIO_FILE_EXTERNAL_SNDFILE "sfizz::sndfile" CACHE STRING "" FORCE) +else() + set(ST_AUDIO_FILE_USE_SNDFILE OFF CACHE BOOL "" FORCE) + set(ST_AUDIO_FILE_EXTERNAL_SNDFILE "" CACHE STRING "" FORCE) +endif() +add_subdirectory("external/st_audiofile" EXCLUDE_FROM_ALL) + +# The pugixml library +add_library(sfizz_pugixml STATIC "src/external/pugixml/src/pugixml.cpp") +add_library(sfizz::pugixml ALIAS sfizz_pugixml) +target_include_directories(sfizz_pugixml PUBLIC "src/external/pugixml/src") + +# The spline library +add_library(sfizz_spline STATIC "src/external/spline/spline/spline.cpp") +add_library(sfizz::spline ALIAS sfizz_spline) +target_include_directories(sfizz_spline PUBLIC "src/external/spline") + +# The tunings library +add_library(sfizz_tunings STATIC "src/external/tunings/src/Tunings.cpp") +add_library(sfizz::tunings ALIAS sfizz_tunings) +target_include_directories(sfizz_tunings PUBLIC "src/external/tunings/include") + +# The hiir library +add_library(sfizz_hiir INTERFACE) +add_library(sfizz::hiir ALIAS sfizz_hiir) +target_include_directories(sfizz_hiir INTERFACE "src/external/hiir") + +# The kissfft library +add_library(sfizz_kissfft STATIC + "src/external/kiss_fft/kiss_fft.c" + "src/external/kiss_fft/tools/kiss_fftr.c") +add_library(sfizz::kissfft ALIAS sfizz_kissfft) +target_include_directories(sfizz_kissfft + PUBLIC "src/external/kiss_fft" + PUBLIC "src/external/kiss_fft/tools") + +# The cpuid library +add_library(sfizz_cpuid STATIC + "src/external/cpuid/src/cpuid/cpuinfo.cpp" + "src/external/cpuid/src/cpuid/version.cpp") +add_library(sfizz::cpuid ALIAS sfizz_cpuid) +set_property(TARGET sfizz_cpuid PROPERTY CXX_STANDARD 11) +target_include_directories(sfizz_cpuid + PUBLIC "src/external/cpuid/src" + PRIVATE "src/external/cpuid/platform/src") + +# The threadpool library +add_library(sfizz_threadpool INTERFACE) +add_library(sfizz::threadpool ALIAS sfizz_threadpool) +target_include_directories(sfizz_threadpool INTERFACE "external/threadpool") + +# The atomic_queue library +add_library(sfizz_atomic_queue INTERFACE) +add_library(sfizz::atomic_queue ALIAS sfizz_atomic_queue) +target_include_directories(sfizz_atomic_queue INTERFACE "external/atomic_queue/include") + +# The ghc::filesystem library +add_library(sfizz_filesystem INTERFACE) +add_library(sfizz::filesystem ALIAS sfizz_filesystem) +target_include_directories(sfizz_filesystem INTERFACE "external/filesystem/include") + +# The atomic library +add_library(sfizz_atomic INTERFACE) +add_library(sfizz::atomic ALIAS sfizz_atomic) +if(UNIX AND NOT APPLE) + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic") + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic/check_libatomic.c" "int main() { return 0; }") + try_compile(SFIZZ_LINK_LIBATOMIC "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic" + SOURCES "${CMAKE_CURRENT_BINARY_DIR}/check_libatomic/check_libatomic.c" + LINK_LIBRARIES "atomic") + if(SFIZZ_LINK_LIBATOMIC) + target_link_libraries(sfizz_atomic INTERFACE "atomic") + endif() +endif() + +# The jack library +if(SFIZZ_JACK) + find_package(PkgConfig REQUIRED) + pkg_check_modules(JACK "jack" REQUIRED) +elseif() + find_package(PkgConfig) + if(PKGCONFIG_FOUND) + pkg_check_modules(JACK "jack") + endif() +endif() +if(JACK_FOUND) + add_library(sfizz_jacklib INTERFACE) + add_library(sfizz::jack ALIAS sfizz_jacklib) + target_include_directories(sfizz_jacklib INTERFACE ${JACK_INCLUDE_DIRS}) + target_link_libraries(sfizz_jacklib INTERFACE ${JACK_LIBRARIES}) + link_directories(${JACK_LIBRARY_DIRS}) +endif() + +# The Qt library +find_package(Qt5 COMPONENTS Widgets) + +# The fmidi library +add_library(sfizz_fmidi STATIC + "external/fmidi/sources/fmidi/fmidi.h" + "external/fmidi/sources/fmidi/fmidi_mini.cpp") +add_library(sfizz::fmidi ALIAS sfizz_fmidi) +target_include_directories(sfizz_fmidi PUBLIC "external/fmidi/sources") +target_compile_definitions(sfizz_fmidi PUBLIC "FMIDI_STATIC=1" "FMIDI_DISABLE_DESCRIBE_API=1") diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt index ff0be6ff..22e8b319 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt @@ -1,32 +1,22 @@ -find_package(PkgConfig) -if(PKGCONFIG_FOUND) - pkg_check_modules(JACK "jack") +if(TARGET Qt5::Widgets AND TARGET sfizz::jack) + add_executable(sfizz_demo_filters DemoFilters.cpp) + target_link_libraries(sfizz_demo_filters PRIVATE sfizz::internal sfizz::jack Qt5::Widgets) + set_target_properties(sfizz_demo_filters PROPERTIES AUTOUIC ON) + + add_executable(sfizz_demo_smooth DemoSmooth.cpp) + target_link_libraries(sfizz_demo_smooth PRIVATE sfizz::internal sfizz::jack Qt5::Widgets) + set_target_properties(sfizz_demo_smooth PROPERTIES AUTOUIC ON) + + add_executable(sfizz_demo_stereo DemoStereo.cpp) + target_link_libraries(sfizz_demo_stereo PRIVATE sfizz::internal sfizz::jack Qt5::Widgets) + set_target_properties(sfizz_demo_stereo PROPERTIES AUTOUIC ON) + + add_executable(sfizz_demo_wavetables DemoWavetables.cpp) + target_link_libraries(sfizz_demo_wavetables PRIVATE sfizz::internal sfizz::jack Qt5::Widgets) + set_target_properties(sfizz_demo_wavetables PROPERTIES AUTOUIC ON) endif() -find_package(Qt5 COMPONENTS Widgets) if(TARGET Qt5::Widgets) - if(JACK_FOUND) - add_executable(sfizz_demo_filters DemoFilters.cpp) - target_include_directories(sfizz_demo_filters PRIVATE ${JACK_INCLUDE_DIRS}) - target_link_libraries(sfizz_demo_filters PRIVATE sfizz::internal Qt5::Widgets ${JACK_LIBRARIES}) - set_target_properties(sfizz_demo_filters PROPERTIES AUTOUIC ON) - - add_executable(sfizz_demo_smooth DemoSmooth.cpp) - target_include_directories(sfizz_demo_smooth PRIVATE ${JACK_INCLUDE_DIRS}) - target_link_libraries(sfizz_demo_smooth PRIVATE sfizz::internal Qt5::Widgets ${JACK_LIBRARIES}) - set_target_properties(sfizz_demo_smooth PROPERTIES AUTOUIC ON) - - add_executable(sfizz_demo_stereo DemoStereo.cpp) - target_include_directories(sfizz_demo_stereo PRIVATE ${JACK_INCLUDE_DIRS}) - target_link_libraries(sfizz_demo_stereo PRIVATE sfizz::internal Qt5::Widgets ${JACK_LIBRARIES}) - set_target_properties(sfizz_demo_stereo PROPERTIES AUTOUIC ON) - - add_executable(sfizz_demo_wavetables DemoWavetables.cpp) - target_include_directories(sfizz_demo_wavetables PRIVATE ${JACK_INCLUDE_DIRS}) - target_link_libraries(sfizz_demo_wavetables PRIVATE sfizz::internal Qt5::Widgets ${JACK_LIBRARIES}) - set_target_properties(sfizz_demo_wavetables PROPERTIES AUTOUIC ON) - endif() - add_executable(sfizz_demo_parser DemoParser.cpp) target_link_libraries(sfizz_demo_parser PRIVATE sfizz::parser Qt5::Widgets) set_target_properties(sfizz_demo_parser PROPERTIES AUTOUIC ON) diff --git a/devtools/CMakeLists.txt b/devtools/CMakeLists.txt index ac2790e6..d9abd170 100644 --- a/devtools/CMakeLists.txt +++ b/devtools/CMakeLists.txt @@ -1,18 +1,12 @@ ############################### # Developer tools -find_package(PkgConfig) -if(PKGCONFIG_FOUND) -pkg_check_modules(JACK "jack") -endif() -find_package(Qt5 COMPONENTS Widgets) - -if(JACK_FOUND AND TARGET Qt5::Widgets) +if(TARGET sfizz::jack AND TARGET Qt5::Widgets) add_executable(sfizz_capture_eg CaptureEG.h CaptureEG.cpp) - target_include_directories(sfizz_capture_eg PRIVATE . ${JACK_INCLUDE_DIRS}) - target_link_libraries(sfizz_capture_eg PRIVATE sfizz::sndfile Qt5::Widgets ${JACK_LIBRARIES}) + target_include_directories(sfizz_capture_eg PRIVATE .) + target_link_libraries(sfizz_capture_eg PRIVATE sfizz::sndfile Qt5::Widgets sfizz::jack) set_target_properties(sfizz_capture_eg PROPERTIES AUTOUIC ON) endif() add_executable(sfizz_preprocessor Preprocessor.cpp) -target_link_libraries(sfizz_preprocessor PRIVATE sfizz_parser sfizz::cxxopts) +target_link_libraries(sfizz_preprocessor PRIVATE sfizz::parser sfizz::cxxopts) diff --git a/clients/external/fmidi/LICENSE.md b/external/fmidi/LICENSE.md similarity index 100% rename from clients/external/fmidi/LICENSE.md rename to external/fmidi/LICENSE.md diff --git a/clients/external/fmidi/sources/fmidi/fmidi.h b/external/fmidi/sources/fmidi/fmidi.h similarity index 100% rename from clients/external/fmidi/sources/fmidi/fmidi.h rename to external/fmidi/sources/fmidi/fmidi.h diff --git a/clients/external/fmidi/sources/fmidi/fmidi_mini.cpp b/external/fmidi/sources/fmidi/fmidi_mini.cpp similarity index 100% rename from clients/external/fmidi/sources/fmidi/fmidi_mini.cpp rename to external/fmidi/sources/fmidi/fmidi_mini.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ecc2376c..bf1c3edd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,8 +1,5 @@ include(GNUInstallDirs) -add_subdirectory(external/kiss_fft) -add_subdirectory(external/cpuid) - set(FAUST_FILES sfizz/dsp/filters/filters_modulable.dsp sfizz/dsp/filters/rbj_filters.dsp diff --git a/src/external/cpuid/CMakeLists.txt b/src/external/cpuid/CMakeLists.txt deleted file mode 100644 index c2a25fe5..00000000 --- a/src/external/cpuid/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -cmake_minimum_required (VERSION 3.5) -project(sfizz_cpuid) - -add_library(sfizz_cpuid STATIC src/cpuid/cpuinfo.cpp src/cpuid/version.cpp) -add_library(sfizz::cpuid ALIAS sfizz_cpuid) -set_property(TARGET sfizz_cpuid PROPERTY CXX_STANDARD 11) -target_include_directories(sfizz_cpuid PUBLIC src PRIVATE platform/src) diff --git a/src/external/kiss_fft/CMakeLists.txt b/src/external/kiss_fft/CMakeLists.txt deleted file mode 100644 index e43afb1d..00000000 --- a/src/external/kiss_fft/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -# This CMake build file is part of sfizz - -cmake_minimum_required(VERSION 3.5) - -project(sfizz_kissfft VERSION "1.3.0" LANGUAGES C) - -add_library(sfizz_kissfft STATIC - kiss_fft.c - tools/kiss_fftr.c) -add_library(sfizz::kissfft ALIAS sfizz_kissfft) -target_include_directories(sfizz_kissfft - PUBLIC "." - PUBLIC "tools")