Added include files in CMakeLists as support for QtCreator IDE

This commit is contained in:
redtide 2020-07-05 16:42:06 +02:00
parent 6e25337560
commit d363627f21
5 changed files with 135 additions and 10 deletions

View file

@ -4,7 +4,7 @@ if (SFIZZ_JACK)
find_package(PkgConfig REQUIRED)
pkg_check_modules(JACK "jack" REQUIRED)
add_executable (sfizz_jack jack_client.cpp)
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 jack absl::flags_parse ${JACK_LIBRARIES})
sfizz_enable_lto_if_needed (sfizz_jack)
@ -13,11 +13,13 @@ if (SFIZZ_JACK)
endif()
if (SFIZZ_RENDER)
add_library(sfizz-fmidi STATIC "external/fmidi/sources/fmidi/fmidi_mini.cpp")
add_library(sfizz-fmidi STATIC
"external/fmidi/sources/fmidi/fmidi.h"
"external/fmidi/sources/fmidi/fmidi_mini.cpp")
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 sfizz_render.cpp)
add_executable(sfizz_render MidiHelpers.h sfizz_render.cpp)
target_link_libraries(sfizz_render PRIVATE sfizz::sfizz sfizz-fmidi sfizz-sndfile)
sfizz_enable_lto_if_needed (sfizz_render)
install (TARGETS sfizz_render DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT "render" OPTIONAL)

View file

@ -8,7 +8,7 @@ endif()
find_package(Qt5 COMPONENTS Widgets)
if(JACK_FOUND AND TARGET Qt5::Widgets)
add_executable(sfizz_capture_eg CaptureEG.cpp)
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})
set_target_properties(sfizz_capture_eg PROPERTIES AUTOUIC ON)

View file

@ -11,7 +11,13 @@ set (LV2PLUGIN_TTL_SRC_FILES
manifest.ttl.in
${PROJECT_NAME}.ttl.in
)
add_library (${LV2PLUGIN_PRJ_NAME} MODULE ${PROJECT_NAME}.c ${LV2PLUGIN_TTL_SRC_FILES})
source_group("Turtle Files" FILES
${LV2PLUGIN_TTL_SRC_FILES}
)
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})
# 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

View file

@ -3,6 +3,83 @@ include (GNUInstallDirs)
add_subdirectory(external/kiss_fft)
add_subdirectory(external/cpuid)
set (SFIZZ_HEADERS
sfizz/ADSREnvelope.h
sfizz/AudioBuffer.h
sfizz/AudioSpan.h
sfizz/Buffer.h
sfizz/BufferPool.h
sfizz/CCMap.h
sfizz/Config.h
sfizz/Curve.h
sfizz/Debug.h
sfizz/effects/impl/ResonantArray.h
sfizz/effects/impl/ResonantArrayAVX.h
sfizz/effects/impl/ResonantArraySSE.h
sfizz/effects/impl/ResonantString.h
sfizz/effects/impl/ResonantStringAVX.h
sfizz/effects/impl/ResonantStringSSE.h
sfizz/effects/Apan.h
sfizz/effects/CommonLFO.h
sfizz/effects/CommonLFO.hpp
sfizz/effects/Eq.h
sfizz/effects/Filter.h
sfizz/effects/Gain.h
sfizz/effects/Limiter.h
sfizz/effects/Lofi.h
sfizz/effects/Nothing.h
sfizz/effects/Rectify.h
sfizz/effects/Strings.h
sfizz/effects/Width.h
sfizz/Effects.h
sfizz/EGDescription.h
sfizz/EQDescription.h
sfizz/EQPool.h
sfizz/FileId.h
sfizz/FileInstrument.h
sfizz/FilePool.h
sfizz/FilterDescription.h
sfizz/FilterPool.h
sfizz/HistoricalBuffer.h
sfizz/Interpolators.h
sfizz/Interpolators.hpp
sfizz/Logger.h
sfizz/MathHelpers.h
sfizz/MidiState.h
sfizz/ModifierHelpers.h
sfizz/Modifiers.h
sfizz/NumericId.h
sfizz/OnePoleFilter.h
sfizz/Oversampler.h
sfizz/Panning.h
sfizz/PolyphonyGroup.h
sfizz/railsback/2-1.h
sfizz/railsback/4-1.h
sfizz/railsback/4-2.h
sfizz/Region.h
sfizz/RegionSet.h
sfizz/Resources.h
sfizz/RTSemaphore.h
sfizz/ScopedFTZ.h
sfizz/SfzFilter.h
sfizz/simd/Common.h
sfizz/simd/HelpersAVX.h
sfizz/simd/HelpersScalar.h
sfizz/simd/HelpersSSE.h
sfizz/SIMDConfig.h
sfizz/SIMDHelpers.h
sfizz/SisterVoiceRing.h
sfizz/Smoothers.h
sfizz/SwapAndPop.h
sfizz/Synth.h
sfizz/SynthConfig.h
sfizz/Tuning.h
sfizz/Voice.h
sfizz/VoiceStealing.h
sfizz/Wavetables.h
sfizz.h
sfizz.hpp)
set (SFIZZ_SOURCES
sfizz/Synth.cpp
sfizz/FileId.cpp
@ -50,17 +127,41 @@ include (SfizzSIMDSourceFiles)
sfizz_add_simd_sources (SFIZZ_SOURCES ".")
# Parser core library
set (SFIZZ_PARSER_HEADERS
sfizz/Defaults.h
sfizz/LeakDetector.h
sfizz/Range.h
sfizz/Opcode.h
sfizz/Macros.h
sfizz/Parser.h
sfizz/parser/Parser.h
sfizz/parser/ParserPrivate.h
sfizz/parser/ParserPrivate.hpp
sfizz/SfzHelpers.h
sfizz/StringViewHelpers.h)
set (SFIZZ_PARSER_SOURCES
sfizz/Parser.cpp
sfizz/Opcode.cpp
sfizz/OpcodeCleanup.cpp
sfizz/SfzHelpers.cpp
sfizz/parser/Parser.cpp
sfizz/parser/ParserPrivate.cpp)
set (SFIZZ_PARSER_OTHER sfizz/OpcodeCleanup.re)
source_group ("Other Files" FILES ${SFIZZ_PARSER_OTHER})
add_library (sfizz_parser STATIC)
target_sources (sfizz_parser PRIVATE
sfizz/Parser.cpp sfizz/Opcode.cpp sfizz/OpcodeCleanup.cpp sfizz/SfzHelpers.cpp
sfizz/parser/Parser.cpp sfizz/parser/ParserPrivate.cpp)
${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)
# Sfizz static library
add_library(sfizz_static STATIC)
target_sources(sfizz_static PRIVATE ${SFIZZ_SOURCES} sfizz/sfizz_wrapper.cpp sfizz/sfizz.cpp)
target_sources(sfizz_static PRIVATE
${SFIZZ_HEADERS} ${SFIZZ_SOURCES} 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)
@ -98,7 +199,8 @@ add_library (sfizz::sfizz ALIAS sfizz_static)
# Shared library and installation target
if (SFIZZ_SHARED)
add_library (sfizz_shared SHARED)
target_sources(sfizz_shared PRIVATE ${SFIZZ_SOURCES} sfizz/sfizz_wrapper.cpp sfizz/sfizz.cpp)
target_sources(sfizz_shared PRIVATE
${SFIZZ_HEADERS} ${SFIZZ_SOURCES} 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 absl::flat_hash_map Threads::Threads sfizz-sndfile sfizz-pugixml sfizz-spline sfizz-tunings sfizz-kissfft sfizz-cpuid sfizz-atomic)

View file

@ -21,10 +21,19 @@ set(VSTPLUGIN_SOURCES
VstPluginFactory.cpp
X11RunLoop.cpp)
set(VSTPLUGIN_HEADERS
SfizzVstProcessor.h
SfizzVstController.h
SfizzVstEditor.h
SfizzVstState.h
GUIComponents.h
X11RunLoop.h)
set(VSTPLUGIN_RESOURCES
logo.png)
add_library(${VSTPLUGIN_PRJ_NAME} MODULE
${VSTPLUGIN_HEADERS}
${VSTPLUGIN_SOURCES})
if(WIN32)
@ -42,8 +51,14 @@ plugin_add_vst3sdk(${VSTPLUGIN_PRJ_NAME})
plugin_add_vstgui(${VSTPLUGIN_PRJ_NAME})
# Add the ring buffer
set (HEADER_FILES
"external/ring_buffer/ring_buffer/ring_buffer.h"
"external/ring_buffer/ring_buffer/ring_buffer.tcc")
source_group ("Header Files" FILES ${HEADER_FILES})
target_include_directories(${VSTPLUGIN_PRJ_NAME} PRIVATE "external/ring_buffer")
target_sources(${VSTPLUGIN_PRJ_NAME} PRIVATE "external/ring_buffer/ring_buffer/ring_buffer.cpp")
target_sources(${VSTPLUGIN_PRJ_NAME} PRIVATE
"external/ring_buffer/ring_buffer/ring_buffer.cpp"
${HEADER_FILES})
if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE