Merge pull request #796 from jpcima/vst3sdk-target
Update cmake system for VST
This commit is contained in:
commit
fda4e305d6
2 changed files with 167 additions and 152 deletions
|
|
@ -13,61 +13,89 @@ configure_file(VstPluginDefs.h.in "${CMAKE_CURRENT_BINARY_DIR}/VstPluginDefs.h")
|
|||
# Build VST3 SDK
|
||||
include("cmake/Vst3.cmake")
|
||||
|
||||
# Build the plugin
|
||||
set(VSTPLUGIN_SOURCES
|
||||
SfizzVstProcessor.cpp
|
||||
SfizzVstController.cpp
|
||||
SfizzVstEditor.cpp
|
||||
SfizzVstState.cpp
|
||||
SfizzVstUpdates.cpp
|
||||
SfizzFileScan.cpp
|
||||
SfizzForeignPaths.cpp
|
||||
SfizzSettings.cpp
|
||||
VstPluginFactory.cpp
|
||||
X11RunLoop.cpp
|
||||
NativeHelpers.cpp
|
||||
FileTrie.cpp)
|
||||
# Add the ring buffer
|
||||
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})
|
||||
target_include_directories(sfizz-ring-buffer INTERFACE "external/ring_buffer")
|
||||
add_library(sfizz::ring-buffer ALIAS sfizz-ring-buffer)
|
||||
|
||||
set(VSTPLUGIN_HEADERS
|
||||
# Build the VST shared code
|
||||
add_library(sfizz-vst3-core STATIC
|
||||
SfizzVstProcessor.cpp
|
||||
SfizzVstProcessor.h
|
||||
SfizzVstController.cpp
|
||||
SfizzVstController.h
|
||||
SfizzVstEditor.cpp
|
||||
SfizzVstEditor.h
|
||||
SfizzVstState.cpp
|
||||
SfizzVstState.h
|
||||
SfizzVstParameters.h
|
||||
SfizzVstUpdates.h
|
||||
SfizzVstUpdates.cpp
|
||||
SfizzFileScan.h
|
||||
SfizzFileScan.cpp
|
||||
SfizzForeignPaths.h
|
||||
SfizzForeignPaths.cpp
|
||||
SfizzSettings.h
|
||||
X11RunLoop.h
|
||||
IdleUpdateHandler.h
|
||||
SfizzSettings.cpp
|
||||
FileTrie.h
|
||||
FileTrie.cpp
|
||||
NativeHelpers.h
|
||||
FileTrie.h)
|
||||
|
||||
NativeHelpers.cpp
|
||||
VstPluginFactory.cpp
|
||||
IdleUpdateHandler.h
|
||||
X11RunLoop.h
|
||||
X11RunLoop.cpp)
|
||||
if(APPLE)
|
||||
set(VSTPLUGIN_MAC_SOURCES
|
||||
target_sources(sfizz-vst3-core PRIVATE
|
||||
SfizzForeignPaths.mm
|
||||
SfizzSettings.mm
|
||||
NativeHelpers.mm)
|
||||
list(APPEND VSTPLUGIN_SOURCES ${VSTPLUGIN_MAC_SOURCES})
|
||||
set_property(SOURCE ${VSTPLUGIN_MAC_SOURCES} APPEND_STRING
|
||||
PROPERTY COMPILE_FLAGS " -fobjc-arc")
|
||||
set_property(
|
||||
SOURCE SfizzForeignPaths.mm
|
||||
SfizzSettings.mm
|
||||
NativeHelpers.mm
|
||||
APPEND_STRING
|
||||
PROPERTY COMPILE_FLAGS " -fobjc-arc")
|
||||
endif()
|
||||
|
||||
add_library(${VSTPLUGIN_PRJ_NAME} MODULE
|
||||
${VSTPLUGIN_HEADERS}
|
||||
${VSTPLUGIN_SOURCES})
|
||||
|
||||
if(WIN32)
|
||||
target_sources(${VSTPLUGIN_PRJ_NAME} PRIVATE vst3.def)
|
||||
endif()
|
||||
target_link_libraries(${VSTPLUGIN_PRJ_NAME}
|
||||
target_include_directories(sfizz-vst3-core
|
||||
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
target_link_libraries(sfizz-vst3-core PRIVATE
|
||||
PRIVATE sfizz::sfizz
|
||||
PRIVATE sfizz::import
|
||||
PRIVATE sfizz::editor
|
||||
PRIVATE sfizz::plugins-common
|
||||
PRIVATE sfizz::pugixml sfizz::filesystem)
|
||||
target_include_directories(${VSTPLUGIN_PRJ_NAME}
|
||||
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
PRIVATE sfizz::pugixml sfizz::filesystem
|
||||
PRIVATE sfizz::ring-buffer
|
||||
vst3sdk
|
||||
vst3sdk_vstgui)
|
||||
gw_target_warn(sfizz-vst3-core PRIVATE
|
||||
"-Wno-ignored-qualifiers"
|
||||
"-Wno-unused-parameter")
|
||||
add_library(sfizz::vst3-core ALIAS sfizz-vst3-core)
|
||||
|
||||
# Link system dependencies
|
||||
if(WIN32)
|
||||
elseif(APPLE)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GLIB REQUIRED glib-2.0)
|
||||
target_include_directories(sfizz-vst3-core PRIVATE ${GLIB_INCLUDE_DIRS})
|
||||
target_link_libraries(sfizz-vst3-core PRIVATE ${GLIB_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# Build the plugin
|
||||
add_library(${VSTPLUGIN_PRJ_NAME} MODULE)
|
||||
if(WIN32)
|
||||
target_sources(${VSTPLUGIN_PRJ_NAME} PRIVATE vst3.def)
|
||||
endif()
|
||||
target_link_libraries(${VSTPLUGIN_PRJ_NAME}
|
||||
PRIVATE sfizz-vst3-core)
|
||||
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
|
||||
OUTPUT_NAME "${PROJECT_NAME}"
|
||||
PREFIX "")
|
||||
|
|
@ -75,18 +103,6 @@ set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
|
|||
plugin_add_vst3sdk(${VSTPLUGIN_PRJ_NAME})
|
||||
plugin_add_vstgui(${VSTPLUGIN_PRJ_NAME})
|
||||
|
||||
# Add the ring buffer
|
||||
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})
|
||||
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")
|
||||
target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE
|
||||
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/vst3.version")
|
||||
|
|
@ -96,17 +112,6 @@ if(MINGW)
|
|||
set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES LINK_FLAGS "-static")
|
||||
endif()
|
||||
|
||||
# Link system dependencies
|
||||
if(WIN32)
|
||||
elseif(APPLE)
|
||||
target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE ${APPLE_FOUNDATION_LIBRARY})
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(GLIB REQUIRED glib-2.0)
|
||||
target_include_directories(${VSTPLUGIN_PRJ_NAME} PRIVATE ${GLIB_INCLUDE_DIRS})
|
||||
target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE ${GLIB_LIBRARIES})
|
||||
endif()
|
||||
|
||||
# Create the bundle(see "VST 3 Locations / Format")
|
||||
execute_process(
|
||||
COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources")
|
||||
|
|
@ -145,19 +150,6 @@ else()
|
|||
DESTINATION "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
gw_target_warn(${VSTPLUGIN_PRJ_NAME} PRIVATE
|
||||
"-Wno-extra"
|
||||
"-Wno-multichar"
|
||||
"-Wno-reorder"
|
||||
"-Wno-class-memaccess"
|
||||
"-Wno-ignored-qualifiers"
|
||||
"-Wno-unknown-pragmas"
|
||||
"-Wno-unused-function"
|
||||
"-Wno-unused-parameter"
|
||||
"-Wno-unused-variable")
|
||||
endif()
|
||||
|
||||
# To help debugging the link only
|
||||
if(FALSE)
|
||||
target_link_options(${VSTPLUGIN_PRJ_NAME} PRIVATE "-Wl,-no-undefined")
|
||||
|
|
@ -186,9 +178,7 @@ elseif(SFIZZ_AU)
|
|||
"${AUWRAPPER_BASEDIR}/aucocoaview.mm"
|
||||
"${AUWRAPPER_BASEDIR}/ausdk.mm"
|
||||
"${AUWRAPPER_BASEDIR}/auwrapper.mm"
|
||||
"${AUWRAPPER_BASEDIR}/NSDataIBStream.mm"
|
||||
${VSTPLUGIN_HEADERS}
|
||||
${VSTPLUGIN_SOURCES})
|
||||
"${AUWRAPPER_BASEDIR}/NSDataIBStream.mm")
|
||||
target_include_directories(${AUPLUGIN_PRJ_NAME} PRIVATE
|
||||
"${VST3SDK_BASEDIR}")
|
||||
target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE
|
||||
|
|
@ -201,13 +191,7 @@ elseif(SFIZZ_AU)
|
|||
"${APPLE_COREMIDI_LIBRARY}")
|
||||
|
||||
target_link_libraries(${AUPLUGIN_PRJ_NAME}
|
||||
PRIVATE sfizz::sfizz
|
||||
PRIVATE sfizz::import
|
||||
PRIVATE sfizz::editor
|
||||
PRIVATE sfizz::plugins-common
|
||||
PRIVATE sfizz::pugixml sfizz::filesystem)
|
||||
target_include_directories(${AUPLUGIN_PRJ_NAME}
|
||||
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
PRIVATE sfizz-vst3-core)
|
||||
set_target_properties(${AUPLUGIN_PRJ_NAME} PROPERTIES
|
||||
OUTPUT_NAME "${PROJECT_NAME}"
|
||||
PREFIX "")
|
||||
|
|
@ -251,15 +235,7 @@ elseif(SFIZZ_AU)
|
|||
"${CA_UTILITY_BASEDIR}/CoreAudio/PublicUtility")
|
||||
|
||||
# Add VST hosting classes
|
||||
target_sources(${AUPLUGIN_PRJ_NAME} PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/eventlist.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/hostclasses.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/parameterchanges.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/pluginterfacesupport.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/processdata.cpp")
|
||||
|
||||
# Add the ring buffer
|
||||
target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE sfizz_ring_buffer)
|
||||
target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE vst3sdk_hosting)
|
||||
|
||||
# Add generated source
|
||||
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include")
|
||||
|
|
@ -323,19 +299,6 @@ elseif(SFIZZ_AU)
|
|||
"${AUWRAPPER_BASEDIR}/auresource.r")
|
||||
endif()
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||
gw_target_warn(${AUPLUGIN_PRJ_NAME} PRIVATE
|
||||
"-Wno-extra"
|
||||
"-Wno-multichar"
|
||||
"-Wno-reorder"
|
||||
"-Wno-class-memaccess"
|
||||
"-Wno-ignored-qualifiers"
|
||||
"-Wno-unknown-pragmas"
|
||||
"-Wno-unused-function"
|
||||
"-Wno-unused-parameter"
|
||||
"-Wno-unused-variable")
|
||||
endif()
|
||||
|
||||
# Installation
|
||||
if(AUPLUGIN_INSTALL_DIR)
|
||||
install(DIRECTORY "${PROJECT_BINARY_DIR}/${AUPLUGIN_BUNDLE_NAME}"
|
||||
|
|
|
|||
|
|
@ -1,68 +1,120 @@
|
|||
find_package(Threads REQUIRED)
|
||||
|
||||
# --- VST3SDK ---
|
||||
add_library(vst3sdk STATIC EXCLUDE_FROM_ALL
|
||||
"${VST3SDK_BASEDIR}/base/source/baseiids.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fbuffer.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fdebug.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fdynlib.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fobject.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fstreamer.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fstring.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/timer.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/updatehandler.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/thread/source/fcondition.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/thread/source/flock.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/conststringtable.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/coreiids.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/funknown.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/ustring.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/commoniids.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/pluginview.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/main/pluginfactory.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstaudioeffect.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstbus.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstcomponent.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstcomponentbase.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vsteditcontroller.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstinitiids.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstnoteexpressiontypes.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstparameters.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstpresetfile.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstrepresentation.cpp")
|
||||
if(WIN32)
|
||||
target_sources(vst3sdk PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/threadchecker_win32.cpp")
|
||||
elseif(APPLE)
|
||||
else()
|
||||
target_sources(vst3sdk PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/threadchecker_linux.cpp")
|
||||
endif()
|
||||
target_include_directories(vst3sdk PUBLIC "${VST3SDK_BASEDIR}")
|
||||
target_link_libraries(vst3sdk PUBLIC Threads::Threads)
|
||||
if(APPLE)
|
||||
target_link_libraries(vst3sdk PUBLIC ${APPLE_FOUNDATION_LIBRARY})
|
||||
endif()
|
||||
if(MINGW)
|
||||
target_compile_definitions(vst3sdk PUBLIC
|
||||
"_NATIVE_WCHAR_T_DEFINED=1" "__wchar_t=wchar_t")
|
||||
endif()
|
||||
set(_vst_release_build_types MinSizeRel Release RelWithDebInfo)
|
||||
if(CMAKE_BUILD_TYPE IN_LIST _vst_release_build_types)
|
||||
target_compile_definitions(vst3sdk PUBLIC "RELEASE")
|
||||
else()
|
||||
target_compile_definitions(vst3sdk PUBLIC "DEVELOPMENT")
|
||||
endif()
|
||||
|
||||
function(plugin_add_vst3sdk NAME)
|
||||
target_sources("${NAME}" PRIVATE
|
||||
"${VST3SDK_BASEDIR}/base/source/baseiids.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fbuffer.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fdebug.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fdynlib.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fobject.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fstreamer.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/fstring.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/timer.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/source/updatehandler.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/thread/source/fcondition.cpp"
|
||||
"${VST3SDK_BASEDIR}/base/thread/source/flock.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/conststringtable.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/coreiids.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/funknown.cpp"
|
||||
"${VST3SDK_BASEDIR}/pluginterfaces/base/ustring.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/commoniids.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/pluginview.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/main/pluginfactory.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstaudioeffect.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstbus.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstcomponent.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstcomponentbase.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vsteditcontroller.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstinitiids.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstnoteexpressiontypes.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstparameters.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstpresetfile.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstrepresentation.cpp")
|
||||
target_link_libraries("${NAME}" PRIVATE vst3sdk)
|
||||
if(WIN32)
|
||||
target_sources("${NAME}" PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/threadchecker_win32.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstgui_win32_bundle_support.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/main/dllmain.cpp")
|
||||
elseif(APPLE)
|
||||
target_sources("${NAME}" PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/main/macmain.cpp")
|
||||
else()
|
||||
target_sources("${NAME}" PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/common/threadchecker_linux.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/main/linuxmain.cpp")
|
||||
endif()
|
||||
target_include_directories("${NAME}" PRIVATE "${VST3SDK_BASEDIR}")
|
||||
target_link_libraries("${NAME}" PRIVATE Threads::Threads)
|
||||
if(MINGW)
|
||||
target_compile_definitions("${NAME}" PRIVATE
|
||||
"_NATIVE_WCHAR_T_DEFINED=1" "__wchar_t=wchar_t")
|
||||
endif()
|
||||
|
||||
set(_vst_release_build_types MinSizeRel Release RelWithDebInfo)
|
||||
|
||||
if(CMAKE_BUILD_TYPE IN_LIST _vst_release_build_types)
|
||||
target_compile_definitions("${NAME}" PRIVATE "RELEASE")
|
||||
else()
|
||||
target_compile_definitions("${NAME}" PRIVATE "DEVELOPMENT")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
# --- VST3SDK hosting ---
|
||||
add_library(vst3sdk_hosting STATIC EXCLUDE_FROM_ALL
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/connectionproxy.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/eventlist.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/hostclasses.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/parameterchanges.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/pluginterfacesupport.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/plugprovider.cpp"
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/processdata.cpp")
|
||||
if(FALSE)
|
||||
if(WIN32)
|
||||
target_sources(vst3sdk_hosting PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/module_win32.cpp")
|
||||
elseif(APPLE)
|
||||
target_sources(vst3sdk_hosting PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/module_mac.mm")
|
||||
else()
|
||||
target_sources(vst3sdk_hosting PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/hosting/module_linux.cpp")
|
||||
endif()
|
||||
endif()
|
||||
target_link_libraries(vst3sdk_hosting PUBLIC vst3sdk)
|
||||
|
||||
# --- VSTGUI ---
|
||||
add_library(vst3sdk_vstgui STATIC EXCLUDE_FROM_ALL
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstguieditor.cpp")
|
||||
if(WIN32)
|
||||
target_sources(vst3sdk_vstgui PRIVATE
|
||||
"${VST3SDK_BASEDIR}/public.sdk/source/vst/vstgui_win32_bundle_support.cpp")
|
||||
endif()
|
||||
target_link_libraries(vst3sdk_vstgui PUBLIC vst3sdk sfizz::vstgui)
|
||||
target_compile_definitions(vst3sdk_vstgui PRIVATE "SMTG_MODULE_IS_BUNDLE=1")
|
||||
|
||||
function(plugin_add_vstgui NAME)
|
||||
target_link_libraries("${NAME}" PRIVATE sfizz::vstgui)
|
||||
target_sources("${NAME}" PRIVATE "${VST3SDK_BASEDIR}/public.sdk/source/vst/vstguieditor.cpp")
|
||||
target_compile_definitions("${NAME}" PRIVATE "SMTG_MODULE_IS_BUNDLE=1")
|
||||
target_link_libraries("${NAME}" PRIVATE vst3sdk_vstgui)
|
||||
endfunction()
|
||||
|
||||
# --- Warning suppressions ---
|
||||
foreach(_target vst3sdk_vstgui vst3sdk)
|
||||
gw_target_warn("${_target}" PRIVATE
|
||||
"-Wno-extra"
|
||||
"-Wno-multichar"
|
||||
"-Wno-reorder"
|
||||
"-Wno-class-memaccess"
|
||||
"-Wno-ignored-qualifiers"
|
||||
"-Wno-unknown-pragmas"
|
||||
"-Wno-unused-function"
|
||||
"-Wno-unused-parameter"
|
||||
"-Wno-unused-variable")
|
||||
endforeach()
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue