diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt index 2f33e648..ee39bea5 100644 --- a/benchmarks/CMakeLists.txt +++ b/benchmarks/CMakeLists.txt @@ -1,7 +1,7 @@ project(sfizz) # Check SIMD -include (SfizzSIMDSourceFiles) +include(SfizzSIMDSourceFiles) set(BENCHMARK_SIMD_SOURCES) sfizz_add_simd_sources(BENCHMARK_SIMD_SOURCES "../src") find_package(benchmark CONFIG REQUIRED) @@ -23,16 +23,16 @@ 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 benchmark::benchmark benchmark::benchmark_main + add_executable("${TARGET}" ${ARGN}) + target_link_libraries("${TARGET}" + PRIVATE absl::span absl::algorithm + PRIVATE benchmark::benchmark benchmark::benchmark_main PRIVATE bm_simd bm_ftz) - if (LIBATOMIC_FOUND) - target_link_libraries ("${TARGET}" PRIVATE atomic) + if(LIBATOMIC_FOUND) + target_link_libraries("${TARGET}" PRIVATE atomic) endif() - target_include_directories("${TARGET}" PRIVATE ../src/sfizz ../src/external) - sfizz_enable_fast_math("${TARGET}") + target_include_directories("${TARGET}" PRIVATE ../src/sfizz ../src/external) + sfizz_enable_fast_math("${TARGET}") endmacro() sfizz_add_benchmark(bm_opf_high_vs_low BM_OPF_high_vs_low.cpp) @@ -72,7 +72,7 @@ target_link_libraries(bm_smoothers PRIVATE sfizz::sfizz) sfizz_add_benchmark(bm_powerFollower BM_powerFollower.cpp) 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}) target_link_libraries(bm_resample PRIVATE sfizz-samplerate sfizz-sndfile sfizz-cpuid) endif() @@ -115,39 +115,38 @@ target_link_libraries(bm_stringResonator PRIVATE sfizz-sndfile) add_custom_target(sfizz_benchmarks) add_dependencies(sfizz_benchmarks - bm_opf_high_vs_low - bm_write - bm_clock - bm_pointerIterationOrOffsets - bm_read - bm_mean - bm_meanSquared - bm_cumsum - bm_diff - bm_mathfuns - bm_gain - bm_divide - bm_ramp - bm_ADSR - bm_add - bm_logger - bm_subtract - bm_multiplyAdd - bm_readChunk - bm_resampleChunk - bm_envelopes - bm_wavfile - bm_flacfile - bm_filterModulation - bm_filterStereoMono - bm_stringResonator -) + bm_opf_high_vs_low + bm_write + bm_clock + bm_pointerIterationOrOffsets + bm_read + bm_mean + bm_meanSquared + bm_cumsum + bm_diff + bm_mathfuns + bm_gain + bm_divide + bm_ramp + bm_ADSR + bm_add + bm_logger + bm_subtract + bm_multiplyAdd + bm_readChunk + bm_resampleChunk + bm_envelopes + bm_wavfile + bm_flacfile + bm_filterModulation + bm_filterStereoMono + bm_stringResonator) -if (TARGET bm_resample) - add_dependencies(sfizz_benchmarks bm_resample) +if(TARGET bm_resample) + add_dependencies(sfizz_benchmarks bm_resample) endif() -if (SFIZZ_SYSTEM_PROCESSOR MATCHES "armv7l") +if(SFIZZ_SYSTEM_PROCESSOR MATCHES "armv7l") sfizz_add_benchmark(bm_pan_arm BM_pan_arm.cpp ../src/sfizz/Panning.cpp) target_link_libraries(bm_pan_arm PRIVATE sfizz-jsl) add_dependencies(sfizz_benchmarks bm_pan_arm) diff --git a/clients/CMakeLists.txt b/clients/CMakeLists.txt index ae3080a3..d975c257 100644 --- a/clients/CMakeLists.txt +++ b/clients/CMakeLists.txt @@ -1,19 +1,19 @@ -project (sfizz) +project(sfizz) -if (SFIZZ_JACK) +if(SFIZZ_JACK) find_package(PkgConfig REQUIRED) pkg_check_modules(JACK "jack" REQUIRED) - link_directories (${JACK_LIBRARY_DIRS}) + 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}) - sfizz_enable_lto_if_needed (sfizz_jack) - install (TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} + 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}) + sfizz_enable_lto_if_needed(sfizz_jack) + install(TARGETS sfizz_jack DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "jack" OPTIONAL) endif() -if (SFIZZ_RENDER) +if(SFIZZ_RENDER) add_library(sfizz-fmidi STATIC "external/fmidi/sources/fmidi/fmidi.h" "external/fmidi/sources/fmidi/fmidi_mini.cpp") @@ -22,6 +22,6 @@ if (SFIZZ_RENDER) add_executable(sfizz_render MidiHelpers.h sfizz_render.cpp) target_link_libraries(sfizz_render PRIVATE sfizz::sfizz sfizz-fmidi sfizz-sndfile sfizz-cxxopts) - sfizz_enable_lto_if_needed (sfizz_render) - install (TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL) + sfizz_enable_lto_if_needed(sfizz_render) + install(TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL) endif() diff --git a/cmake/CheckIPO.cmake b/cmake/CheckIPO.cmake index 5b524df7..058a5f8a 100644 --- a/cmake/CheckIPO.cmake +++ b/cmake/CheckIPO.cmake @@ -1,37 +1,37 @@ # Added in CMake 3.9 -if (CMAKE_VERSION VERSION_LESS 3.9) - message (WARNING "\nIPO checks are only available on CMake 3.9 and later.") +if(CMAKE_VERSION VERSION_LESS 3.9) + message(WARNING "\nIPO checks are only available on CMake 3.9 and later.") set(ENABLE_LTO OFF CACHE BOOL "" FORCE) - function (SFIZZ_ENABLE_LTO_IF_NEEDED TARGET) + function(SFIZZ_ENABLE_LTO_IF_NEEDED TARGET) endfunction() return() endif() -include (CheckIPOSupported) -check_ipo_supported (RESULT result OUTPUT output) +include(CheckIPOSupported) +check_ipo_supported(RESULT result OUTPUT output) -if (CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l) +if(CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l) set(ENABLE_LTO OFF CACHE BOOL "" FORCE) endif() -if (result AND ENABLE_LTO AND CMAKE_BUILD_TYPE STREQUAL "Release") - message (STATUS "\nLTO enabled.") +if(result AND ENABLE_LTO AND CMAKE_BUILD_TYPE STREQUAL "Release") + message(STATUS "\nLTO enabled.") else() - if (${output}) - message (WARNING "\nIPO disabled: ${output}") + if(${output}) + message(WARNING "\nIPO disabled: ${output}") else() - message (WARNING "\nIPO was disabled or not in a Release build.") + message(WARNING "\nIPO was disabled or not in a Release build.") endif() set(ENABLE_LTO OFF CACHE BOOL "" FORCE) endif() -function (SFIZZ_ENABLE_LTO_IF_NEEDED TARGET) - if (${ENABLE_LTO}) +function(SFIZZ_ENABLE_LTO_IF_NEEDED TARGET) + if(${ENABLE_LTO}) message(STATUS "Enabling LTO on ${TARGET}") - set_property (TARGET ${TARGET} PROPERTY INTERPROCEDURAL_OPTIMIZATION True) + set_property(TARGET ${TARGET} PROPERTY INTERPROCEDURAL_OPTIMIZATION True) endif() endfunction() diff --git a/cmake/LV2Config.cmake b/cmake/LV2Config.cmake index 0cfc911f..ab7a1652 100644 --- a/cmake/LV2Config.cmake +++ b/cmake/LV2Config.cmake @@ -1,17 +1,17 @@ # Configuration for this plugin # TODO: generate version from git -set (LV2PLUGIN_VERSION_MINOR 6) -set (LV2PLUGIN_VERSION_MICRO 0) -set (LV2PLUGIN_NAME "sfizz") -set (LV2PLUGIN_COMMENT "SFZ sampler") -set (LV2PLUGIN_URI "http://sfztools.github.io/sfizz") -set (LV2PLUGIN_REPOSITORY "https://github.com/sfztools/sfizz") -set (LV2PLUGIN_AUTHOR "SFZTools") -set (LV2PLUGIN_EMAIL "paul@ferrand.cc") -if (SFIZZ_USE_VCPKG) - set (LV2PLUGIN_SPDX_LICENSE_ID "LGPL-3.0-only") +set(LV2PLUGIN_VERSION_MINOR 6) +set(LV2PLUGIN_VERSION_MICRO 0) +set(LV2PLUGIN_NAME "sfizz") +set(LV2PLUGIN_COMMENT "SFZ sampler") +set(LV2PLUGIN_URI "http://sfztools.github.io/sfizz") +set(LV2PLUGIN_REPOSITORY "https://github.com/sfztools/sfizz") +set(LV2PLUGIN_AUTHOR "SFZTools") +set(LV2PLUGIN_EMAIL "paul@ferrand.cc") +if(SFIZZ_USE_VCPKG) + set(LV2PLUGIN_SPDX_LICENSE_ID "LGPL-3.0-only") else() - set (LV2PLUGIN_SPDX_LICENSE_ID "ISC") + set(LV2PLUGIN_SPDX_LICENSE_ID "ISC") endif() if(SFIZZ_LV2_UI) @@ -30,13 +30,13 @@ else() set(LV2_UI_TYPE "X11UI") endif() -if (APPLE) - set (LV2PLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/LV2" CACHE STRING +if(APPLE) + set(LV2PLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/LV2" CACHE STRING "Install destination for LV2 bundle [default: $ENV{HOME}/Library/Audio/Plug-Ins/LV2]") -elseif (MSVC) - set (LV2PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lv2" CACHE STRING +elseif(MSVC) + set(LV2PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lv2" CACHE STRING "Install destination for LV2 bundle [default: ${CMAKE_INSTALL_PREFIX}/lv2]") else() - set (LV2PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/lv2" CACHE STRING + set(LV2PLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/lv2" CACHE STRING "Install destination for LV2 bundle [default: ${CMAKE_INSTALL_PREFIX}/lib/lv2]") endif() diff --git a/cmake/SfizzConfig.cmake b/cmake/SfizzConfig.cmake index cfc910b0..6935b874 100644 --- a/cmake/SfizzConfig.cmake +++ b/cmake/SfizzConfig.cmake @@ -6,26 +6,26 @@ set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to be used") set(CMAKE_C_STANDARD 99 CACHE STRING "C standard to be used") # Export the compile_commands.json file -set (CMAKE_EXPORT_COMPILE_COMMANDS ON) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # Only install what's explicitely said -set (CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true) -set (CMAKE_POSITION_INDEPENDENT_CODE ON) -set (CMAKE_CXX_VISIBILITY_PRESET hidden) -set (CMAKE_VISIBILITY_INLINES_HIDDEN ON) +set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true) +set(CMAKE_POSITION_INDEPENDENT_CODE ON) +set(CMAKE_CXX_VISIBILITY_PRESET hidden) +set(CMAKE_VISIBILITY_INLINES_HIDDEN ON) # Set Windows compatibility level to 7 -if (WIN32) +if(WIN32) add_compile_definitions(_WIN32_WINNT=0x601) endif() # Set macOS compatibility level -if (APPLE) +if(APPLE) set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9") endif() # Do not define macros `min` and `max` -if (WIN32) +if(WIN32) add_compile_definitions(NOMINMAX) endif() @@ -46,13 +46,13 @@ if(APPLE) # 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) + 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 -if (NOT SFIZZ_SYSTEM_PROCESSOR) +if(NOT SFIZZ_SYSTEM_PROCESSOR) if(MSVC) set(SFIZZ_SYSTEM_PROCESSOR "${MSVC_CXX_ARCHITECTURE_ID}") else() @@ -61,13 +61,13 @@ if (NOT SFIZZ_SYSTEM_PROCESSOR) endif() # Add required flags for the builds -if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") +if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") gw_warn(-Wall -Wextra -Wno-multichar -Werror=return-type) - if (SFIZZ_SYSTEM_PROCESSOR MATCHES "^(i.86|x86_64)$") + if(SFIZZ_SYSTEM_PROCESSOR MATCHES "^(i.86|x86_64)$") add_compile_options(-msse2) elseif(SFIZZ_SYSTEM_PROCESSOR MATCHES "^(arm.*)$") add_compile_options(-mfpu=neon) - if (NOT ANDROID) + if(NOT ANDROID) add_compile_options(-mfloat-abi=hard) endif() endif() @@ -75,14 +75,14 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") if(SFIZZ_HAVE_FALIGNED_NEW) add_compile_options($<$:-faligned-new>) endif() -elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") set(CMAKE_CXX_STANDARD 17) add_compile_options(/Zc:__cplusplus) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") endif() function(sfizz_enable_fast_math NAME) - if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") target_compile_options("${NAME}" PRIVATE "-ffast-math") elseif(MSVC) target_compile_options("${NAME}" PRIVATE "/fp:fast") @@ -98,9 +98,9 @@ add_library(sfizz-cxxopts INTERFACE) target_include_directories(sfizz-cxxopts INTERFACE "external/cxxopts") # The sndfile library -if (SFIZZ_USE_SNDFILE OR SFIZZ_DEMOS OR SFIZZ_BENCHMARKS OR SFIZZ_RENDER) +if(SFIZZ_USE_SNDFILE OR SFIZZ_DEMOS OR SFIZZ_BENCHMARKS OR SFIZZ_RENDER) add_library(sfizz-sndfile INTERFACE) - if (SFIZZ_USE_VCPKG OR CMAKE_CXX_COMPILER_ID MATCHES "MSVC") + 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}") @@ -109,7 +109,7 @@ if (SFIZZ_USE_SNDFILE OR SFIZZ_DEMOS OR SFIZZ_BENCHMARKS OR SFIZZ_RENDER) find_package(PkgConfig REQUIRED) pkg_check_modules(SNDFILE "sndfile" REQUIRED) target_include_directories(sfizz-sndfile INTERFACE ${SNDFILE_INCLUDE_DIRS}) - if (SFIZZ_STATIC_DEPENDENCIES) + if(SFIZZ_STATIC_DEPENDENCIES) target_link_libraries(sfizz-sndfile INTERFACE ${SNDFILE_STATIC_LIBRARIES}) else() target_link_libraries(sfizz-sndfile INTERFACE ${SNDFILE_LIBRARIES}) @@ -119,7 +119,7 @@ if (SFIZZ_USE_SNDFILE OR SFIZZ_DEMOS OR SFIZZ_BENCHMARKS OR SFIZZ_RENDER) endif() # The st_audiofile library -if (SFIZZ_USE_SNDFILE) +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() @@ -131,7 +131,7 @@ 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) -if (USE_LIBCPP) +if(USE_LIBCPP) add_compile_options(-stdlib=libc++) # Presumably need the above for linking too, maybe other options missing as well add_link_options(-stdlib=libc++) # New command on CMake master, not in 3.12 release @@ -147,25 +147,25 @@ target_include_directories(sfizz-spline PUBLIC "src/external/spline") add_library(sfizz-tunings STATIC "src/external/tunings/src/Tunings.cpp") target_include_directories(sfizz-tunings PUBLIC "src/external/tunings/include") -include (CheckLibraryExists) -add_library (sfizz-atomic INTERFACE) -if (UNIX AND NOT APPLE) +include(CheckLibraryExists) +add_library(sfizz-atomic INTERFACE) +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") + 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") - message (STATUS " +function(show_build_info_if_needed) + if(CMAKE_PROJECT_NAME STREQUAL "sfizz") + message(STATUS " Project name: ${PROJECT_NAME} Build type: ${CMAKE_BUILD_TYPE} Build processor: ${SFIZZ_SYSTEM_PROCESSOR} @@ -195,4 +195,4 @@ Compiler CXX min size flags: ${CMAKE_CXX_FLAGS_MINSIZEREL} endif() endfunction() -find_package (Threads REQUIRED) +find_package(Threads REQUIRED) diff --git a/cmake/SfizzSIMDSourceFiles.cmake b/cmake/SfizzSIMDSourceFiles.cmake index 83957c5d..9e588e93 100644 --- a/cmake/SfizzSIMDSourceFiles.cmake +++ b/cmake/SfizzSIMDSourceFiles.cmake @@ -1,7 +1,7 @@ macro(sfizz_add_simd_sources SOURCES_VAR PREFIX) # It needs a macro, otherwise the source properties cannot take effect. - list (APPEND ${SOURCES_VAR} + list(APPEND ${SOURCES_VAR} ${PREFIX}/sfizz/SIMDHelpers.cpp ${PREFIX}/sfizz/simd/HelpersNEON.cpp ${PREFIX}/sfizz/simd/HelpersSSE.cpp @@ -9,10 +9,10 @@ macro(sfizz_add_simd_sources SOURCES_VAR PREFIX) # For CPU-dispatched X86 sources # Always build them for all X86 targets. - if (SFIZZ_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64|x64|X64|i.86|x86|X86)$") + if(SFIZZ_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64|x64|X64|i.86|x86|X86)$") # on GCC, it requires to set ISA support flags on individual files # to be able to use the intrinsics - if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") set_source_files_properties( ${PREFIX}/sfizz/effects/impl/ResonantStringAVX.cpp ${PREFIX}/sfizz/effects/impl/ResonantArrayAVX.cpp diff --git a/cmake/SfizzUninstall.cmake b/cmake/SfizzUninstall.cmake index 6c1d7f12..6286832c 100644 --- a/cmake/SfizzUninstall.cmake +++ b/cmake/SfizzUninstall.cmake @@ -7,12 +7,12 @@ if(NOT TARGET uninstall) add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/MakeUninstall.cmake) - if (SFIZZ_LV2 AND LV2PLUGIN_INSTALL_DIR) + if(SFIZZ_LV2 AND LV2PLUGIN_INSTALL_DIR) add_custom_command(TARGET uninstall COMMAND rm -rv "${LV2PLUGIN_INSTALL_DIR}/${PROJECT_NAME}.lv2") endif() - if (SFIZZ_VST AND VSTPLUGIN_INSTALL_DIR) + if(SFIZZ_VST AND VSTPLUGIN_INSTALL_DIR) add_custom_command(TARGET uninstall COMMAND rm -rv "${VSTPLUGIN_INSTALL_DIR}/${PROJECT_NAME}.vst3") endif() diff --git a/cmake/VSTConfig.cmake b/cmake/VSTConfig.cmake index c4c8f44a..8d23c1df 100644 --- a/cmake/VSTConfig.cmake +++ b/cmake/VSTConfig.cmake @@ -1,22 +1,22 @@ -set (VSTPLUGIN_NAME "sfizz") -set (VSTPLUGIN_VENDOR "Paul Ferrand") -set (VSTPLUGIN_URL "http://sfztools.github.io/sfizz") -set (VSTPLUGIN_EMAIL "paul@ferrand.cc") +set(VSTPLUGIN_NAME "sfizz") +set(VSTPLUGIN_VENDOR "Paul Ferrand") +set(VSTPLUGIN_URL "http://sfztools.github.io/sfizz") +set(VSTPLUGIN_EMAIL "paul@ferrand.cc") -if (APPLE) - set (VSTPLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/VST3" CACHE STRING +if(APPLE) + set(VSTPLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/VST3" CACHE STRING "Install destination for VST bundle [default: $ENV{HOME}/Library/Audio/Plug-Ins/VST3]") - set (AUPLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/Components" CACHE STRING + set(AUPLUGIN_INSTALL_DIR "$ENV{HOME}/Library/Audio/Plug-Ins/Components" CACHE STRING "Install destination for AudioUnit bundle [default: $ENV{HOME}/Library/Audio/Plug-Ins/Components]") -elseif (MSVC) - set (VSTPLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/vst3" CACHE STRING +elseif(MSVC) + set(VSTPLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/vst3" CACHE STRING "Install destination for VST bundle [default: ${CMAKE_INSTALL_PREFIX}/vst3]") else() - set (VSTPLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/vst3" CACHE STRING + set(VSTPLUGIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/vst3" CACHE STRING "Install destination for VST bundle [default: ${CMAKE_INSTALL_PREFIX}/lib/vst3]") endif() -if (NOT VST3_SYSTEM_PROCESSOR) +if(NOT VST3_SYSTEM_PROCESSOR) set(VST3_SYSTEM_PROCESSOR "${SFIZZ_SYSTEM_PROCESSOR}") endif() diff --git a/lv2/CMakeLists.txt b/lv2/CMakeLists.txt index 743b26d2..a5b8b61a 100644 --- a/lv2/CMakeLists.txt +++ b/lv2/CMakeLists.txt @@ -1,85 +1,85 @@ -set (LV2PLUGIN_PRJ_NAME "${PROJECT_NAME}_lv2") +set(LV2PLUGIN_PRJ_NAME "${PROJECT_NAME}_lv2") # Set the build directory as /lv2/.lv2/ -set (PROJECT_BINARY_DIR "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.lv2") +set(PROJECT_BINARY_DIR "${PROJECT_BINARY_DIR}/${PROJECT_NAME}.lv2") # LV2 plugin specific settings -include (LV2Config) +include(LV2Config) # Keep non build turtle files in IDE -set (LV2PLUGIN_TTL_SRC_FILES +set(LV2PLUGIN_TTL_SRC_FILES manifest.ttl.in ${PROJECT_NAME}.ttl.in ) -if (SFIZZ_LV2_UI) +if(SFIZZ_LV2_UI) list(APPEND LV2PLUGIN_TTL_SRC_FILES ${PROJECT_NAME}_ui.ttl.in) endif() source_group("Turtle Files" FILES ${LV2PLUGIN_TTL_SRC_FILES} ) -add_library (${LV2PLUGIN_PRJ_NAME} MODULE +add_library(${LV2PLUGIN_PRJ_NAME} MODULE ${PROJECT_NAME}.c atomic_compat.h ${LV2PLUGIN_TTL_SRC_FILES}) -target_link_libraries (${LV2PLUGIN_PRJ_NAME} ${PROJECT_NAME}::${PROJECT_NAME}) +target_link_libraries(${LV2PLUGIN_PRJ_NAME} ${PROJECT_NAME}::${PROJECT_NAME}) -if (SFIZZ_LV2_UI) - add_library (${LV2PLUGIN_PRJ_NAME}_ui MODULE +if(SFIZZ_LV2_UI) + add_library(${LV2PLUGIN_PRJ_NAME}_ui MODULE ${PROJECT_NAME}_ui.cpp vstgui_helpers.h vstgui_helpers.cpp) - target_link_libraries (${LV2PLUGIN_PRJ_NAME}_ui sfizz_editor sfizz-vstgui) + target_link_libraries(${LV2PLUGIN_PRJ_NAME}_ui sfizz_editor sfizz-vstgui) endif() # Explicitely strip all symbols on Linux but lv2_descriptor() # MacOS linker does not support this apparently https://bugs.webkit.org/show_bug.cgi?id=144555 -if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") file(COPY lv2.version DESTINATION ${CMAKE_BINARY_DIR}/lv2) target_link_libraries(${LV2PLUGIN_PRJ_NAME} "-Wl,--version-script=lv2.version") # target_link_libraries(${LV2PLUGIN_PRJ_NAME} "-Wl,-u,lv2_descriptor") - if (SFIZZ_LV2_UI) + if(SFIZZ_LV2_UI) file(COPY lv2ui.version DESTINATION ${CMAKE_BINARY_DIR}/lv2) target_link_libraries(${LV2PLUGIN_PRJ_NAME}_ui "-Wl,--version-script=lv2ui.version") # target_link_libraries(${LV2PLUGIN_PRJ_NAME}_ui "-Wl,-u,lv2ui_descriptor") endif() endif() target_include_directories(${LV2PLUGIN_PRJ_NAME} PRIVATE . external/ardour) -sfizz_enable_lto_if_needed (${LV2PLUGIN_PRJ_NAME}) -if (MINGW) - set_target_properties (${LV2PLUGIN_PRJ_NAME} PROPERTIES LINK_FLAGS "-static") +sfizz_enable_lto_if_needed(${LV2PLUGIN_PRJ_NAME}) +if(MINGW) + set_target_properties(${LV2PLUGIN_PRJ_NAME} PROPERTIES LINK_FLAGS "-static") endif() -if (SFIZZ_LV2_UI) +if(SFIZZ_LV2_UI) target_include_directories(${LV2PLUGIN_PRJ_NAME}_ui PRIVATE . external/ardour) - sfizz_enable_lto_if_needed (${LV2PLUGIN_PRJ_NAME}_ui) - if (MINGW) - set_target_properties (${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES LINK_FLAGS "-static") + sfizz_enable_lto_if_needed(${LV2PLUGIN_PRJ_NAME}_ui) + if(MINGW) + set_target_properties(${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES LINK_FLAGS "-static") endif() endif() # Remove the "lib" prefix, rename the target name and build it in the .lv build dir # /lv2/_lv2. to # /lv2/.lv2/. -set_target_properties (${LV2PLUGIN_PRJ_NAME} PROPERTIES PREFIX "") -set_target_properties (${LV2PLUGIN_PRJ_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}") -set_target_properties (${LV2PLUGIN_PRJ_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Contents/Binary/$<0:>") +set_target_properties(${LV2PLUGIN_PRJ_NAME} PROPERTIES PREFIX "") +set_target_properties(${LV2PLUGIN_PRJ_NAME} PROPERTIES OUTPUT_NAME "${PROJECT_NAME}") +set_target_properties(${LV2PLUGIN_PRJ_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Contents/Binary/$<0:>") -if (SFIZZ_LV2_UI) - set_target_properties (${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES PREFIX "") - set_target_properties (${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES OUTPUT_NAME "${PROJECT_NAME}_ui") - set_target_properties (${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Contents/Binary/$<0:>") +if(SFIZZ_LV2_UI) + set_target_properties(${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES PREFIX "") + set_target_properties(${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES OUTPUT_NAME "${PROJECT_NAME}_ui") + set_target_properties(${LV2PLUGIN_PRJ_NAME}_ui PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/Contents/Binary/$<0:>") endif() # Generate *.ttl files from *.in sources, # create the destination directory if it doesn't exists and copy needed files -file (MAKE_DIRECTORY ${PROJECT_BINARY_DIR}) -configure_file (manifest.ttl.in ${PROJECT_BINARY_DIR}/manifest.ttl) -configure_file (${PROJECT_NAME}.ttl.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.ttl) -if (SFIZZ_LV2_UI) - configure_file (${PROJECT_NAME}_ui.ttl.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}_ui.ttl) +file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}) +configure_file(manifest.ttl.in ${PROJECT_BINARY_DIR}/manifest.ttl) +configure_file(${PROJECT_NAME}.ttl.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}.ttl) +if(SFIZZ_LV2_UI) + configure_file(${PROJECT_NAME}_ui.ttl.in ${PROJECT_BINARY_DIR}/${PROJECT_NAME}_ui.ttl) endif() -configure_file (LICENSE.md.in ${PROJECT_BINARY_DIR}/LICENSE.md) -if (SFIZZ_USE_VCPKG OR SFIZZ_STATIC_DEPENDENCIES OR CMAKE_CXX_COMPILER_ID MATCHES "MSVC") +configure_file(LICENSE.md.in ${PROJECT_BINARY_DIR}/LICENSE.md) +if(SFIZZ_USE_VCPKG OR SFIZZ_STATIC_DEPENDENCIES OR CMAKE_CXX_COMPILER_ID MATCHES "MSVC") file(COPY "lgpl-3.0.txt" DESTINATION ${PROJECT_BINARY_DIR}) endif() @@ -90,13 +90,13 @@ set(LV2_RESOURCES execute_process( COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/Contents/Resources") foreach(res ${LV2_RESOURCES}) - file (COPY "${CMAKE_CURRENT_SOURCE_DIR}/resources/${res}" + file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/resources/${res}" DESTINATION "${PROJECT_BINARY_DIR}/Contents/Resources") endforeach() # Copy editor resources -if (SFIZZ_LV2_UI) - execute_process ( +if(SFIZZ_LV2_UI) + execute_process( COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/Contents/Resources") copy_editor_resources( "${CMAKE_CURRENT_SOURCE_DIR}/../editor/resources" @@ -104,7 +104,7 @@ if (SFIZZ_LV2_UI) endif() # Installation -if (NOT MSVC) +if(NOT MSVC) install(DIRECTORY ${PROJECT_BINARY_DIR} DESTINATION ${LV2PLUGIN_INSTALL_DIR} COMPONENT "lv2") bundle_dylibs(lv2 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ca0ebed0..caf58f07 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,9 +1,9 @@ -include (GNUInstallDirs) +include(GNUInstallDirs) add_subdirectory(external/kiss_fft) add_subdirectory(external/cpuid) -set (FAUST_FILES +set(FAUST_FILES sfizz/dsp/filters/filters_modulable.dsp sfizz/dsp/filters/rbj_filters.dsp sfizz/dsp/filters/sallenkey_modulable.dsp @@ -14,9 +14,9 @@ set (FAUST_FILES sfizz/effects/dsp/gate.dsp sfizz/effects/dsp/disto_stage.dsp sfizz/effects/dsp/fverb.dsp) -source_group ("Faust Files" FILES ${FAUST_FILES}) +source_group("Faust Files" FILES ${FAUST_FILES}) -set (SFIZZ_HEADERS +set(SFIZZ_HEADERS sfizz/ADSREnvelope.h sfizz/AudioBuffer.h sfizz/AudioReader.h @@ -118,7 +118,7 @@ set (SFIZZ_HEADERS sfizz.h sfizz.hpp) -set (SFIZZ_SOURCES +set(SFIZZ_SOURCES sfizz/Synth.cpp sfizz/FileId.cpp sfizz/FilePool.cpp @@ -184,11 +184,11 @@ set (SFIZZ_SOURCES sfizz/effects/impl/ResonantArraySSE.cpp sfizz/effects/impl/ResonantArrayAVX.cpp) -include (SfizzSIMDSourceFiles) -sfizz_add_simd_sources (SFIZZ_SOURCES ".") +include(SfizzSIMDSourceFiles) +sfizz_add_simd_sources(SFIZZ_SOURCES ".") # Parser core library -set (SFIZZ_PARSER_HEADERS +set(SFIZZ_PARSER_HEADERS sfizz/Defaults.h sfizz/LeakDetector.h sfizz/Range.h @@ -201,7 +201,7 @@ set (SFIZZ_PARSER_HEADERS sfizz/SfzHelpers.h sfizz/StringViewHelpers.h) -set (SFIZZ_PARSER_SOURCES +set(SFIZZ_PARSER_SOURCES sfizz/Parser.cpp sfizz/Opcode.cpp sfizz/OpcodeCleanup.cpp @@ -209,94 +209,94 @@ set (SFIZZ_PARSER_SOURCES sfizz/parser/Parser.cpp sfizz/parser/ParserPrivate.cpp) -set (SFIZZ_PARSER_OTHER sfizz/OpcodeCleanup.re) -source_group ("Other Files" FILES ${SFIZZ_PARSER_OTHER}) +set(SFIZZ_PARSER_OTHER sfizz/OpcodeCleanup.re) +source_group("Other Files" FILES ${SFIZZ_PARSER_OTHER}) # Sfizz parser library -add_library (sfizz_parser STATIC) -target_sources (sfizz_parser PRIVATE +add_library(sfizz_parser STATIC) +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_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) # OSC messaging library -set (SFIZZ_MESSAGING_HEADERS +set(SFIZZ_MESSAGING_HEADERS sfizz/Messaging.h sfizz/Messaging.hpp sfizz_message.h) -set (SFIZZ_MESSAGING_SOURCES +set(SFIZZ_MESSAGING_SOURCES sfizz/Messaging.cpp) -add_library (sfizz_messaging STATIC) -target_sources (sfizz_messaging PRIVATE +add_library(sfizz_messaging STATIC) +target_sources(sfizz_messaging PRIVATE ${SFIZZ_MESSAGING_HEADERS} ${SFIZZ_MESSAGING_SOURCES}) -target_include_directories (sfizz_messaging PUBLIC ".") -target_link_libraries (sfizz_messaging PUBLIC absl::strings) +target_include_directories(sfizz_messaging PUBLIC ".") +target_link_libraries(sfizz_messaging PUBLIC absl::strings) # Sfizz static library add_library(sfizz_static 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) -set_target_properties (sfizz_static PROPERTIES OUTPUT_NAME sfizz PUBLIC_HEADER "sfizz.h;sfizz.hpp;sfizz_message.h") +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) +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) - target_link_libraries (sfizz_static PUBLIC st_audiofile) + 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) +if(WIN32) + target_compile_definitions(sfizz_static PRIVATE _USE_MATH_DEFINES) endif() -if (SFIZZ_RELEASE_ASSERTS) - target_compile_definitions (sfizz_static PRIVATE "SFIZZ_ENABLE_RELEASE_ASSERT=1") +if(SFIZZ_RELEASE_ASSERTS) + target_compile_definitions(sfizz_static PRIVATE "SFIZZ_ENABLE_RELEASE_ASSERT=1") endif() sfizz_enable_fast_math(sfizz_static) if(WIN32) include(VSTConfig) - configure_file (${PROJECT_SOURCE_DIR}/scripts/innosetup.iss.in ${PROJECT_BINARY_DIR}/innosetup.iss @ONLY) + configure_file(${PROJECT_SOURCE_DIR}/scripts/innosetup.iss.in ${PROJECT_BINARY_DIR}/innosetup.iss @ONLY) 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::parser ALIAS sfizz_parser) +add_library(sfizz::sfizz ALIAS sfizz_static) # Shared library and installation target -if (SFIZZ_SHARED) - add_library (sfizz_shared SHARED) +if(SFIZZ_SHARED) + add_library(sfizz_shared 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_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) if(SFIZZ_USE_SNDFILE) - target_compile_definitions (sfizz_shared PUBLIC SFIZZ_USE_SNDFILE=1) - target_link_libraries (sfizz_shared PUBLIC st_audiofile) + 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) + if(WIN32) + target_compile_definitions(sfizz_shared PRIVATE _USE_MATH_DEFINES) endif() - if (SFIZZ_RELEASE_ASSERTS) - target_compile_definitions (sfizz_shared PRIVATE "SFIZZ_ENABLE_RELEASE_ASSERT=1") + if(SFIZZ_RELEASE_ASSERTS) + target_compile_definitions(sfizz_shared PRIVATE "SFIZZ_ENABLE_RELEASE_ASSERT=1") endif() target_compile_definitions(sfizz_shared PRIVATE SFIZZ_EXPORT_SYMBOLS) - set_target_properties (sfizz_shared PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} OUTPUT_NAME sfizz PUBLIC_HEADER "sfizz.h;sfizz.hpp;sfizz_message.h") + set_target_properties(sfizz_shared PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} OUTPUT_NAME sfizz PUBLIC_HEADER "sfizz.h;sfizz.hpp;sfizz_message.h") sfizz_enable_lto_if_needed(sfizz_shared) sfizz_enable_fast_math(sfizz_shared) - if (NOT MSVC) - install (TARGETS sfizz_shared + if(NOT MSVC) + install(TARGETS sfizz_shared RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "runtime" LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT "runtime" ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT "development" PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} COMPONENT "development") - configure_file (${PROJECT_SOURCE_DIR}/scripts/sfizz.pc.in sfizz.pc @ONLY) - install (FILES ${CMAKE_BINARY_DIR}/src/sfizz.pc + configure_file(${PROJECT_SOURCE_DIR}/scripts/sfizz.pc.in sfizz.pc @ONLY) + install(FILES ${CMAKE_BINARY_DIR}/src/sfizz.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig COMPONENT "development") endif() diff --git a/vst/CMakeLists.txt b/vst/CMakeLists.txt index 02421af5..6fef1424 100644 --- a/vst/CMakeLists.txt +++ b/vst/CMakeLists.txt @@ -1,14 +1,14 @@ -set (VSTPLUGIN_PRJ_NAME "${PROJECT_NAME}_vst3") -set (VSTPLUGIN_BUNDLE_NAME "${PROJECT_NAME}.vst3") +set(VSTPLUGIN_PRJ_NAME "${PROJECT_NAME}_vst3") +set(VSTPLUGIN_BUNDLE_NAME "${PROJECT_NAME}.vst3") -set (VST3SDK_BASEDIR "${CMAKE_CURRENT_SOURCE_DIR}/external/VST_SDK/VST3_SDK") -#set (AUWRAPPER_BASEDIR "${VST3SDK_BASEDIR}/public.sdk/source/vst/auwrapper") -set (AUWRAPPER_BASEDIR "${CMAKE_CURRENT_SOURCE_DIR}/external/sfzt_auwrapper") +set(VST3SDK_BASEDIR "${CMAKE_CURRENT_SOURCE_DIR}/external/VST_SDK/VST3_SDK") +#set(AUWRAPPER_BASEDIR "${VST3SDK_BASEDIR}/public.sdk/source/vst/auwrapper") +set(AUWRAPPER_BASEDIR "${CMAKE_CURRENT_SOURCE_DIR}/external/sfzt_auwrapper") # VST plugin specific settings -include (VSTConfig) +include(VSTConfig) -configure_file (VstPluginDefs.h.in "${CMAKE_CURRENT_BINARY_DIR}/VstPluginDefs.h") +configure_file(VstPluginDefs.h.in "${CMAKE_CURRENT_BINARY_DIR}/VstPluginDefs.h") # Build VST3 SDK include("cmake/Vst3.cmake") @@ -71,24 +71,24 @@ plugin_add_vst3sdk(${VSTPLUGIN_PRJ_NAME}) plugin_add_vstgui(${VSTPLUGIN_PRJ_NAME}) # Add the ring buffer -set (RINGBUFFER_HEADERS +set(RINGBUFFER_HEADERS "external/ring_buffer/ring_buffer/ring_buffer.h" "external/ring_buffer/ring_buffer/ring_buffer.tcc") add_library(sfizz_ring_buffer STATIC "external/ring_buffer/ring_buffer/ring_buffer.cpp" ${RINGBUFFER_HEADERS}) -source_group ("Header Files" FILES ${RINGBUFFER_HEADERS}) +source_group("Header Files" FILES ${RINGBUFFER_HEADERS}) target_include_directories(sfizz_ring_buffer INTERFACE "external/ring_buffer") target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE sfizz_ring_buffer) -if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") +if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/vst3.version") endif() -sfizz_enable_lto_if_needed (${VSTPLUGIN_PRJ_NAME}) -if (MINGW) - set_target_properties (${VSTPLUGIN_PRJ_NAME} PROPERTIES LINK_FLAGS "-static") +sfizz_enable_lto_if_needed(${VSTPLUGIN_PRJ_NAME}) +if(MINGW) + set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES LINK_FLAGS "-static") endif() # Link system dependencies @@ -102,8 +102,8 @@ else() target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE ${GLIB_LIBRARIES}) endif() -# Create the bundle (see "VST 3 Locations / Format") -execute_process ( +# Create the bundle(see "VST 3 Locations / Format") +execute_process( COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources") copy_editor_resources( "${CMAKE_CURRENT_SOURCE_DIR}/../editor/resources" @@ -140,7 +140,7 @@ else() DESTINATION "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}") endif() -if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") +if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") gw_target_warn(${VSTPLUGIN_PRJ_NAME} PRIVATE "-Wno-extra" "-Wno-multichar" @@ -154,12 +154,12 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") endif() # To help debugging the link only -if (FALSE) +if(FALSE) target_link_options(${VSTPLUGIN_PRJ_NAME} PRIVATE "-Wl,-no-undefined") endif() # Installation -if (NOT MSVC) +if(NOT MSVC) install(DIRECTORY "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}" DESTINATION "${VSTPLUGIN_INSTALL_DIR}" COMPONENT "vst") @@ -261,7 +261,7 @@ elseif(SFIZZ_AU) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/include/aucocoaclassprefix.h" "#define SMTG_AU_NAMESPACE SMTGAUCocoa${SFIZZ_AU_CLASS_PREFIX_NUMBER}_") - sfizz_enable_lto_if_needed (${AUPLUGIN_PRJ_NAME}) + sfizz_enable_lto_if_needed(${AUPLUGIN_PRJ_NAME}) # Create the bundle execute_process( @@ -293,7 +293,7 @@ elseif(SFIZZ_AU) DESTINATION "${PROJECT_BINARY_DIR}/${AUPLUGIN_BUNDLE_NAME}/Contents/SharedSupport/License") # Add the resource fork - if (FALSE) + if(FALSE) execute_process(COMMAND "xcrun" "--find" "Rez" OUTPUT_VARIABLE OSX_REZ_COMMAND OUTPUT_STRIP_TRAILING_WHITESPACE) file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include") @@ -316,7 +316,7 @@ elseif(SFIZZ_AU) "${AUWRAPPER_BASEDIR}/auresource.r") endif() - if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") + if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") gw_target_warn(${AUPLUGIN_PRJ_NAME} PRIVATE "-Wno-extra" "-Wno-multichar"