Removed old CMake files backup
This commit is contained in:
parent
199c14ea54
commit
10a00d0f5e
6 changed files with 0 additions and 407 deletions
|
|
@ -1,125 +0,0 @@
|
|||
project(sfizz)
|
||||
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
benchmark
|
||||
GIT_REPOSITORY https://github.com/google/benchmark.git
|
||||
GIT_TAG v1.5.0
|
||||
)
|
||||
|
||||
FetchContent_GetProperties(benchmark)
|
||||
if(NOT benchmark_POPULATED)
|
||||
FetchContent_Populate(benchmark)
|
||||
add_subdirectory(${benchmark_SOURCE_DIR} ${benchmark_BINARY_DIR})
|
||||
endif()
|
||||
|
||||
# Check SIMD
|
||||
include(CheckIncludeFiles)
|
||||
CHECK_INCLUDE_FILES(x86intrin.h HAVE_X86INTRIN_H)
|
||||
CHECK_INCLUDE_FILES(intrin.h HAVE_INTRIN_H)
|
||||
CHECK_INCLUDE_FILES(arm_neon.h HAVE_ARM_NEON_H)
|
||||
|
||||
# SIMD checks
|
||||
if (HAVE_X86INTRIN_H AND UNIX)
|
||||
add_compile_options(-DHAVE_X86INTRIN_H)
|
||||
set(SFIZZ_SIMD_SOURCES ../sfizz/SIMDSSE.cpp)
|
||||
elseif (HAVE_INTRIN_H AND WIN32)
|
||||
add_compile_options(/DHAVE_INTRIN_H)
|
||||
set(SFIZZ_SIMD_SOURCES ../sfizz/SIMDSSE.cpp)
|
||||
elseif (HAVE_ARM_NEON_H AND UNIX)
|
||||
add_compile_options(-DHAVE_ARM_NEON_H)
|
||||
add_compile_options(-mfpu=neon-fp-armv8)
|
||||
add_compile_options(-march=native)
|
||||
add_compile_options(-mtune=cortex-a53)
|
||||
add_compile_options(-funsafe-math-optimizations)
|
||||
set(SFIZZ_SIMD_SOURCES ../sfizz/SIMDNEON.cpp)
|
||||
else()
|
||||
set(SFIZZ_SIMD_SOURCES ../sfizz/SIMDDummy.cpp)
|
||||
endif()
|
||||
|
||||
add_executable(bm_opf_high_vs_low BM_OPF_high_vs_low.cpp)
|
||||
target_link_libraries(bm_opf_high_vs_low benchmark absl::span)
|
||||
|
||||
add_executable(bm_write BM_writeInterleaved.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_write benchmark absl::span)
|
||||
|
||||
add_executable(bm_read BM_readInterleaved.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_read benchmark absl::span)
|
||||
|
||||
add_executable(bm_fill BM_fill.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_fill benchmark absl::span)
|
||||
|
||||
add_executable(bm_mathfuns BM_mathfuns.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_mathfuns benchmark absl::span)
|
||||
|
||||
add_executable(bm_gain BM_gain.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_gain benchmark absl::span)
|
||||
|
||||
add_executable(bm_looping BM_looping.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_looping benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_saturating BM_saturating.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_saturating benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_ramp BM_ramp.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_ramp benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_ADSR BM_ADSR.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_ADSR benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_add BM_add.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_add benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_multiplyAdd BM_multiplyAdd.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_multiplyAdd benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_subtract BM_subtract.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_subtract benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_copy BM_copy.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_copy benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_pan BM_pan.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_pan benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_mean BM_mean.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_mean benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_meanSquared BM_meanSquared.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_meanSquared benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_cumsum BM_cumsum.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_cumsum benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_diff BM_diff.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_diff benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_interpolationCast BM_interpolationCast.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_interpolationCast benchmark absl::span absl::algorithm)
|
||||
|
||||
add_executable(bm_pointerIterationOrOffsets BM_pointerIterationOrOffsets.cpp ${SFIZZ_SIMD_SOURCES})
|
||||
target_link_libraries(bm_pointerIterationOrOffsets benchmark absl::span absl::algorithm)
|
||||
|
||||
add_custom_target(sfizz_benchmarks)
|
||||
add_dependencies(sfizz_benchmarks
|
||||
bm_opf_high_vs_low
|
||||
bm_write
|
||||
bm_pointerIterationOrOffsets
|
||||
bm_read
|
||||
bm_mean
|
||||
bm_meanSquared
|
||||
bm_fill
|
||||
bm_cumsum
|
||||
bm_diff
|
||||
bm_interpolationCast
|
||||
bm_mathfuns
|
||||
bm_gain
|
||||
bm_looping
|
||||
bm_saturating
|
||||
bm_ramp
|
||||
bm_ADSR
|
||||
bm_add
|
||||
bm_pan
|
||||
bm_subtract
|
||||
bm_multiplyAdd
|
||||
)
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
project(sfizz)
|
||||
|
||||
###############################
|
||||
add_executable(sfzprint sfzprint.cpp)
|
||||
target_link_libraries(sfzprint sfizz::parser absl::flags_parse)
|
||||
install(TARGETS sfzprint DESTINATION . OPTIONAL)
|
||||
|
||||
###############################
|
||||
# Basic command line program
|
||||
if(APPLE)
|
||||
find_path(JACK_INCLUDE_DIR NAMES jack.h PATHS "/usr/local/include/jack")
|
||||
find_library(JACK_LIBRARY NAMES jack PATHS "/usr/local/lib")
|
||||
message(STATUS "include dir: " ${JACK_INCLUDE_DIR} " lib: " ${JACK_LIBRARY})
|
||||
add_library(jack SHARED IMPORTED GLOBAL)
|
||||
target_include_directories(jack INTERFACE ${JACK_INCLUDE_DIR})
|
||||
target_link_libraries(jack INTERFACE ${JACK_LIBRARY})
|
||||
endif()
|
||||
|
||||
add_executable(sfizz_jack jack_client.cpp)
|
||||
target_link_libraries(sfizz_jack sfizz::sfizz jack absl::flags_parse)
|
||||
install(TARGETS sfizz_jack DESTINATION . OPTIONAL)
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
cmake_minimum_required(VERSION 3.11)
|
||||
project(sfizz-lv2)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(sfizz REQUIRED IMPORTED_TARGET sfizz)
|
||||
|
||||
# Force add relocation to the flags globally. It's ugly but what can you do...
|
||||
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
|
||||
# Export the compile_commands.json file
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
add_library(sfizz-lv2 SHARED sfizz.c)
|
||||
set_target_properties(sfizz-lv2 PROPERTIES PREFIX "")
|
||||
set_target_properties(sfizz-lv2 PROPERTIES OUTPUT_NAME "sfizz")
|
||||
target_link_libraries(sfizz-lv2 sfizz)
|
||||
if(UNIX)
|
||||
target_compile_options(sfizz-lv2 PRIVATE -Wextra -pedantic -Wall -Werror)
|
||||
endif()
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
cmake_minimum_required(VERSION 3.13)
|
||||
project(sfizz VERSION 1.0.0 LANGUAGES CXX)
|
||||
|
||||
# Do not override if set to more than 14
|
||||
if (NOT CMAKE_CXX_STANDARD OR CMAKE_CXX_STANDARD LESS 14)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
endif()
|
||||
|
||||
# Skip installing all dependencies
|
||||
set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY true)
|
||||
|
||||
# Enable LTO
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW) # To override the policy in abseil and benchmark
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
|
||||
|
||||
# Enable PIC
|
||||
# set(POSITION_INDEPENDENT_CODE ON)
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT ANDROID)
|
||||
set(USE_LIBCPP ON CACHE BOOL "Use libc++ with clang")
|
||||
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
|
||||
add_link_options(-lc++abi) # New command on CMake master, not in 3.12 release
|
||||
endif()
|
||||
|
||||
if (UNIX)
|
||||
add_compile_options(-fPIC)
|
||||
add_compile_options(-Wall)
|
||||
add_compile_options(-Wextra)
|
||||
add_compile_options(-ffast-math)
|
||||
add_compile_options(-fno-omit-frame-pointer)
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
# TODO: Remove when abseil updates (deprecation warning from c++17 onwards)
|
||||
add_compile_options(/wd4996)
|
||||
# add_compile_options(/W3)
|
||||
# add_compile_options(/GR-)
|
||||
# add_compile_options(/permissive-)
|
||||
# add_compile_options(/fp:fast)
|
||||
endif()
|
||||
|
||||
message("Cmake flags: ${CMAKE_CXX_FLAGS}")
|
||||
|
||||
# Export the compile_commands.json file
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# find_package(Git QUIET)
|
||||
# if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
|
||||
# Update submodules as needed
|
||||
# option(GIT_SUBMODULE "Check submodules during build" ON)
|
||||
# if(GIT_SUBMODULE)
|
||||
# message(STATUS "Submodule update")
|
||||
# execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive --remote
|
||||
# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
# RESULT_VARIABLE GIT_SUBMOD_RESULT)
|
||||
# if(NOT GIT_SUBMOD_RESULT EQUAL "0")
|
||||
# message(FATAL_ERROR "git submodule update --init failed with ${GIT_SUBMOD_RESULT}, please checkout submodules")
|
||||
# endif()
|
||||
# endif()
|
||||
# endif()
|
||||
|
||||
# Build options and includes
|
||||
set(BUILD_TESTING OFF CACHE BOOL "Disable Abseil's tests")
|
||||
add_subdirectory(external/abseil-cpp EXCLUDE_FROM_ALL)
|
||||
|
||||
# Download libsndfile
|
||||
if (WIN32)
|
||||
# file(DOWNLOAD https://github.com/bastibe/libsndfile-binaries/raw/master/libsndfile32bit.dll external/libsndfile-win/libsndfile32bit.dll)
|
||||
# file(DOWNLOAD https://github.com/bastibe/libsndfile-binaries/raw/master/libsndfile64bit.dll external/libsndfile-win/libsndfile64bit.dll)
|
||||
# message(STATUS "Downloading libsndfile")
|
||||
# # find_library(sndfile libsndfile-1.lib HINTS ${WIN_SNDFILE_PATH}/lib)
|
||||
set(WIN_SNDFILE_PATH "C:/Program Files/Mega-Nerd/libsndfile")
|
||||
add_library(sndfile STATIC IMPORTED)
|
||||
set_target_properties(sndfile PROPERTIES IMPORTED_LOCATION "${WIN_SNDFILE_PATH}/lib/libsndfile-1.lib")
|
||||
set_target_properties(sndfile PROPERTIES LINKER_LANGUAGE CXX)
|
||||
file(COPY "${WIN_SNDFILE_PATH}/bin/libsndfile-1.dll" DESTINATION ${CMAKE_BINARY_DIR})
|
||||
target_include_directories(sndfile INTERFACE "${WIN_SNDFILE_PATH}/include")
|
||||
elseif(APPLE)
|
||||
find_path(SNDFILE_INCLUDE_DIR NAMES sndfile.hh PATHS "/usr/local/include")
|
||||
find_library(SNDFILE_LIBRARY NAMES sndfile PATHS "/usr/local/lib")
|
||||
message(STATUS "include dir: " ${SNDFILE_INCLUDE_DIR} " lib: " ${SNDFILE_LIBRARY})
|
||||
add_library(sndfile SHARED IMPORTED GLOBAL)
|
||||
target_include_directories(sndfile INTERFACE ${SNDFILE_INCLUDE_DIR})
|
||||
target_link_libraries(sndfile INTERFACE ${SNDFILE_LIBRARY})
|
||||
endif()
|
||||
|
||||
add_subdirectory(sfizz)
|
||||
|
||||
if (SFIZZ_CLIENTS)
|
||||
add_subdirectory(clients)
|
||||
endif()
|
||||
|
||||
if (SFIZZ_TESTS)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
if (SFIZZ_BENCHMARKS)
|
||||
# Benchmarks
|
||||
set(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "Disable Google Benchmark tests")
|
||||
set(BENCHMARK_ENABLE_INSTALL OFF CACHE BOOL "Disable Google Benchmark install")
|
||||
add_subdirectory(external/benchmark EXCLUDE_FROM_ALL)
|
||||
add_subdirectory(benchmarks)
|
||||
endif()
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
project(sfizz)
|
||||
|
||||
set(SFIZZ_SOURCES
|
||||
Synth.cpp
|
||||
FilePool.cpp
|
||||
Region.cpp
|
||||
Voice.cpp
|
||||
ScopedFTZ.cpp
|
||||
SfzHelpers.cpp
|
||||
FloatEnvelopes.cpp
|
||||
)
|
||||
|
||||
# Check SIMD
|
||||
include(CheckIncludeFiles)
|
||||
CHECK_INCLUDE_FILES(x86intrin.h HAVE_X86INTRIN_H)
|
||||
CHECK_INCLUDE_FILES(intrin.h HAVE_INTRIN_H)
|
||||
if (!APPLE)
|
||||
CHECK_INCLUDE_FILES(arm_neon.h HAVE_ARM_NEON_H)
|
||||
endif()
|
||||
|
||||
# SIMD checks
|
||||
if (HAVE_X86INTRIN_H AND UNIX)
|
||||
add_compile_options(-DHAVE_X86INTRIN_H)
|
||||
set(SFIZZ_SIMD_SOURCES SIMDSSE.cpp)
|
||||
elseif (HAVE_INTRIN_H AND WIN32)
|
||||
add_compile_options(/DHAVE_INTRIN_H)
|
||||
set(SFIZZ_SIMD_SOURCES SIMDSSE.cpp)
|
||||
elseif (HAVE_ARM_NEON_H AND UNIX)
|
||||
add_compile_options(-DHAVE_ARM_NEON_H)
|
||||
add_compile_options(-mfpu=neon-fp-armv8)
|
||||
add_compile_options(-march=native)
|
||||
add_compile_options(-mtune=cortex-a53)
|
||||
add_compile_options(-funsafe-math-optimizations)
|
||||
set(SFIZZ_SIMD_SOURCES SIMDNEON.cpp)
|
||||
else()
|
||||
set(SFIZZ_SIMD_SOURCES SIMDDummy.cpp)
|
||||
endif()
|
||||
|
||||
set(SFIZZ_SOURCES ${SFIZZ_SOURCES} ${SFIZZ_SIMD_SOURCES})
|
||||
|
||||
# check_include_file_cxx("filesystem" HAVE_STD_FILESYSTEM)
|
||||
# if (HAVE_STD_FILESYSTEM)
|
||||
# if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
# # add_compile_options(-DUSE_STD_FILESYSTEM)
|
||||
# if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
|
||||
# link_libraries(c++fs)
|
||||
# endif()
|
||||
# elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
||||
# link_libraries(stdc++fs)
|
||||
# elseif (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
# add_compile_options(/DINCLUDE_STD_FILESYSTEM)
|
||||
# add_compile_options(/DUSE_STD_FILESYSTEM)
|
||||
# endif()
|
||||
# endif()
|
||||
|
||||
|
||||
add_library(sfizz_parser STATIC)
|
||||
target_sources(sfizz_parser PRIVATE Parser.cpp Opcode.cpp)
|
||||
target_include_directories(sfizz_parser PUBLIC .)
|
||||
target_link_libraries(sfizz_parser PRIVATE absl::strings)
|
||||
|
||||
add_library(sfizz STATIC ${SFIZZ_SOURCES})
|
||||
target_link_libraries(sfizz PRIVATE sfizz_parser)
|
||||
target_include_directories(sfizz PUBLIC .)
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(sfizz PRIVATE Threads::Threads)
|
||||
if(UNIX)
|
||||
target_link_libraries(sfizz PUBLIC atomic)
|
||||
endif(UNIX)
|
||||
|
||||
target_link_libraries(sfizz PUBLIC absl::strings)
|
||||
target_link_libraries(sfizz PRIVATE sndfile absl::flat_hash_map)
|
||||
|
||||
install(TARGETS sfizz_parser DESTINATION . EXCLUDE_FROM_ALL)
|
||||
install(TARGETS sfizz DESTINATION . EXCLUDE_FROM_ALL)
|
||||
|
||||
add_library(sfizz::parser ALIAS sfizz_parser)
|
||||
add_library(sfizz::sfizz ALIAS sfizz)
|
||||
|
||||
add_library(sfizz_shared SHARED)
|
||||
set_target_properties(sfizz_shared PROPERTIES
|
||||
OUTPUT_NAME sfizz
|
||||
PUBLIC_HEADER sfizz.h)
|
||||
# set_target_properties(sfizz_shared PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
target_sources(sfizz_shared PRIVATE sfizz.cpp)
|
||||
target_link_libraries(sfizz_shared sfizz::sfizz)
|
||||
configure_file(sfizz.pc.in sfizz.pc @ONLY)
|
||||
|
||||
if(UNIX)
|
||||
include(GNUInstallDirs)
|
||||
install(TARGETS sfizz_shared
|
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}/static
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
install(FILES
|
||||
${CMAKE_BINARY_DIR}/sfizz/sfizz.pc DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/pkgconfig)
|
||||
endif()
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
###############################
|
||||
# Test application
|
||||
|
||||
project(sfizz)
|
||||
|
||||
set(SFIZZ_TEST_SOURCES
|
||||
RegionT.cpp
|
||||
RegexT.cpp
|
||||
HelpersT.cpp
|
||||
HelpersT.cpp
|
||||
AudioBufferT.cpp
|
||||
RangeT.cpp
|
||||
OpcodeT.cpp
|
||||
BufferT.cpp
|
||||
SIMDHelpersT.cpp
|
||||
FilesT.cpp
|
||||
OnePoleFilterT.cpp
|
||||
RegionActivationT.cpp
|
||||
RegionCrossfadesT.cpp
|
||||
ADSREnvelopeT.cpp
|
||||
LinearEnvelopeT.cpp
|
||||
MainT.cpp
|
||||
RegionTriggersT.cpp
|
||||
)
|
||||
|
||||
find_package(ZLIB REQUIRED)
|
||||
add_library(cnpy cnpy.cpp)
|
||||
target_link_libraries(cnpy PRIVATE ZLIB::ZLIB)
|
||||
|
||||
add_executable(sfizz_tests ${SFIZZ_TEST_SOURCES})
|
||||
target_link_libraries(sfizz_tests PRIVATE sfizz)
|
||||
|
||||
# Per OS properties
|
||||
if(UNIX)
|
||||
target_link_libraries(sfizz_tests PRIVATE atomic)
|
||||
endif(UNIX)
|
||||
target_link_libraries(sfizz_tests PRIVATE absl::strings absl::str_format absl::flat_hash_map sndfile cnpy absl::span absl::algorithm)
|
||||
target_include_directories(sfizz_tests SYSTEM PRIVATE sources)
|
||||
|
||||
file(COPY "." DESTINATION ${CMAKE_BINARY_DIR}/tests)
|
||||
Loading…
Add table
Reference in a new issue