Merge pull request #796 from jpcima/vst3sdk-target

Update cmake system for VST
This commit is contained in:
JP Cimalando 2021-04-08 03:29:47 +02:00 committed by GitHub
commit fda4e305d6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 167 additions and 152 deletions

View file

@ -13,61 +13,89 @@ configure_file(VstPluginDefs.h.in "${CMAKE_CURRENT_BINARY_DIR}/VstPluginDefs.h")
# Build VST3 SDK # Build VST3 SDK
include("cmake/Vst3.cmake") include("cmake/Vst3.cmake")
# Build the plugin # Add the ring buffer
set(VSTPLUGIN_SOURCES set(RINGBUFFER_HEADERS
SfizzVstProcessor.cpp "external/ring_buffer/ring_buffer/ring_buffer.h"
SfizzVstController.cpp "external/ring_buffer/ring_buffer/ring_buffer.tcc")
SfizzVstEditor.cpp add_library(sfizz-ring-buffer STATIC
SfizzVstState.cpp "external/ring_buffer/ring_buffer/ring_buffer.cpp"
SfizzVstUpdates.cpp ${RINGBUFFER_HEADERS})
SfizzFileScan.cpp source_group("Header Files" FILES ${RINGBUFFER_HEADERS})
SfizzForeignPaths.cpp target_include_directories(sfizz-ring-buffer INTERFACE "external/ring_buffer")
SfizzSettings.cpp add_library(sfizz::ring-buffer ALIAS sfizz-ring-buffer)
VstPluginFactory.cpp
X11RunLoop.cpp
NativeHelpers.cpp
FileTrie.cpp)
set(VSTPLUGIN_HEADERS # Build the VST shared code
add_library(sfizz-vst3-core STATIC
SfizzVstProcessor.cpp
SfizzVstProcessor.h SfizzVstProcessor.h
SfizzVstController.cpp
SfizzVstController.h SfizzVstController.h
SfizzVstEditor.cpp
SfizzVstEditor.h SfizzVstEditor.h
SfizzVstState.cpp
SfizzVstState.h SfizzVstState.h
SfizzVstParameters.h SfizzVstParameters.h
SfizzVstUpdates.h SfizzVstUpdates.h
SfizzVstUpdates.cpp
SfizzFileScan.h SfizzFileScan.h
SfizzFileScan.cpp
SfizzForeignPaths.h SfizzForeignPaths.h
SfizzForeignPaths.cpp
SfizzSettings.h SfizzSettings.h
X11RunLoop.h SfizzSettings.cpp
IdleUpdateHandler.h FileTrie.h
FileTrie.cpp
NativeHelpers.h NativeHelpers.h
FileTrie.h) NativeHelpers.cpp
VstPluginFactory.cpp
IdleUpdateHandler.h
X11RunLoop.h
X11RunLoop.cpp)
if(APPLE) if(APPLE)
set(VSTPLUGIN_MAC_SOURCES target_sources(sfizz-vst3-core PRIVATE
SfizzForeignPaths.mm SfizzForeignPaths.mm
SfizzSettings.mm SfizzSettings.mm
NativeHelpers.mm) NativeHelpers.mm)
list(APPEND VSTPLUGIN_SOURCES ${VSTPLUGIN_MAC_SOURCES}) set_property(
set_property(SOURCE ${VSTPLUGIN_MAC_SOURCES} APPEND_STRING SOURCE SfizzForeignPaths.mm
PROPERTY COMPILE_FLAGS " -fobjc-arc") SfizzSettings.mm
NativeHelpers.mm
APPEND_STRING
PROPERTY COMPILE_FLAGS " -fobjc-arc")
endif() endif()
target_include_directories(sfizz-vst3-core
add_library(${VSTPLUGIN_PRJ_NAME} MODULE PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
${VSTPLUGIN_HEADERS} target_link_libraries(sfizz-vst3-core PRIVATE
${VSTPLUGIN_SOURCES})
if(WIN32)
target_sources(${VSTPLUGIN_PRJ_NAME} PRIVATE vst3.def)
endif()
target_link_libraries(${VSTPLUGIN_PRJ_NAME}
PRIVATE sfizz::sfizz PRIVATE sfizz::sfizz
PRIVATE sfizz::import PRIVATE sfizz::import
PRIVATE sfizz::editor PRIVATE sfizz::editor
PRIVATE sfizz::plugins-common PRIVATE sfizz::plugins-common
PRIVATE sfizz::pugixml sfizz::filesystem) PRIVATE sfizz::pugixml sfizz::filesystem
target_include_directories(${VSTPLUGIN_PRJ_NAME} PRIVATE sfizz::ring-buffer
PRIVATE "${CMAKE_CURRENT_BINARY_DIR}") 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 set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
OUTPUT_NAME "${PROJECT_NAME}" OUTPUT_NAME "${PROJECT_NAME}"
PREFIX "") PREFIX "")
@ -75,18 +103,6 @@ set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES
plugin_add_vst3sdk(${VSTPLUGIN_PRJ_NAME}) plugin_add_vst3sdk(${VSTPLUGIN_PRJ_NAME})
plugin_add_vstgui(${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") if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE target_link_libraries(${VSTPLUGIN_PRJ_NAME} PRIVATE
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/vst3.version") "-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") set_target_properties(${VSTPLUGIN_PRJ_NAME} PROPERTIES LINK_FLAGS "-static")
endif() 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") # Create the bundle(see "VST 3 Locations / Format")
execute_process( execute_process(
COMMAND "${CMAKE_COMMAND}" -E make_directory "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}/Contents/Resources") 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}") DESTINATION "${PROJECT_BINARY_DIR}/${VSTPLUGIN_BUNDLE_NAME}")
endif() 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 # To help debugging the link only
if(FALSE) if(FALSE)
target_link_options(${VSTPLUGIN_PRJ_NAME} PRIVATE "-Wl,-no-undefined") target_link_options(${VSTPLUGIN_PRJ_NAME} PRIVATE "-Wl,-no-undefined")
@ -186,9 +178,7 @@ elseif(SFIZZ_AU)
"${AUWRAPPER_BASEDIR}/aucocoaview.mm" "${AUWRAPPER_BASEDIR}/aucocoaview.mm"
"${AUWRAPPER_BASEDIR}/ausdk.mm" "${AUWRAPPER_BASEDIR}/ausdk.mm"
"${AUWRAPPER_BASEDIR}/auwrapper.mm" "${AUWRAPPER_BASEDIR}/auwrapper.mm"
"${AUWRAPPER_BASEDIR}/NSDataIBStream.mm" "${AUWRAPPER_BASEDIR}/NSDataIBStream.mm")
${VSTPLUGIN_HEADERS}
${VSTPLUGIN_SOURCES})
target_include_directories(${AUPLUGIN_PRJ_NAME} PRIVATE target_include_directories(${AUPLUGIN_PRJ_NAME} PRIVATE
"${VST3SDK_BASEDIR}") "${VST3SDK_BASEDIR}")
target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE
@ -201,13 +191,7 @@ elseif(SFIZZ_AU)
"${APPLE_COREMIDI_LIBRARY}") "${APPLE_COREMIDI_LIBRARY}")
target_link_libraries(${AUPLUGIN_PRJ_NAME} target_link_libraries(${AUPLUGIN_PRJ_NAME}
PRIVATE sfizz::sfizz PRIVATE sfizz-vst3-core)
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}")
set_target_properties(${AUPLUGIN_PRJ_NAME} PROPERTIES set_target_properties(${AUPLUGIN_PRJ_NAME} PROPERTIES
OUTPUT_NAME "${PROJECT_NAME}" OUTPUT_NAME "${PROJECT_NAME}"
PREFIX "") PREFIX "")
@ -251,15 +235,7 @@ elseif(SFIZZ_AU)
"${CA_UTILITY_BASEDIR}/CoreAudio/PublicUtility") "${CA_UTILITY_BASEDIR}/CoreAudio/PublicUtility")
# Add VST hosting classes # Add VST hosting classes
target_sources(${AUPLUGIN_PRJ_NAME} PRIVATE target_link_libraries(${AUPLUGIN_PRJ_NAME} PRIVATE vst3sdk_hosting)
"${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)
# Add generated source # Add generated source
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include") file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/include")
@ -323,19 +299,6 @@ elseif(SFIZZ_AU)
"${AUWRAPPER_BASEDIR}/auresource.r") "${AUWRAPPER_BASEDIR}/auresource.r")
endif() 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 # Installation
if(AUPLUGIN_INSTALL_DIR) if(AUPLUGIN_INSTALL_DIR)
install(DIRECTORY "${PROJECT_BINARY_DIR}/${AUPLUGIN_BUNDLE_NAME}" install(DIRECTORY "${PROJECT_BINARY_DIR}/${AUPLUGIN_BUNDLE_NAME}"

View file

@ -1,68 +1,120 @@
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
# --- VST3SDK --- # --- 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) function(plugin_add_vst3sdk NAME)
target_sources("${NAME}" PRIVATE target_link_libraries("${NAME}" PRIVATE vst3sdk)
"${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) if(WIN32)
target_sources("${NAME}" PRIVATE 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") "${VST3SDK_BASEDIR}/public.sdk/source/main/dllmain.cpp")
elseif(APPLE) elseif(APPLE)
target_sources("${NAME}" PRIVATE target_sources("${NAME}" PRIVATE
"${VST3SDK_BASEDIR}/public.sdk/source/main/macmain.cpp") "${VST3SDK_BASEDIR}/public.sdk/source/main/macmain.cpp")
else() else()
target_sources("${NAME}" PRIVATE target_sources("${NAME}" PRIVATE
"${VST3SDK_BASEDIR}/public.sdk/source/common/threadchecker_linux.cpp"
"${VST3SDK_BASEDIR}/public.sdk/source/main/linuxmain.cpp") "${VST3SDK_BASEDIR}/public.sdk/source/main/linuxmain.cpp")
endif() 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() 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 --- # --- 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) function(plugin_add_vstgui NAME)
target_link_libraries("${NAME}" PRIVATE sfizz::vstgui) target_link_libraries("${NAME}" PRIVATE vst3sdk_vstgui)
target_sources("${NAME}" PRIVATE "${VST3SDK_BASEDIR}/public.sdk/source/vst/vstguieditor.cpp")
target_compile_definitions("${NAME}" PRIVATE "SMTG_MODULE_IS_BUNDLE=1")
endfunction() 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()