This repository contains Steinberg's cmake modules and template files which can be used to create VST 3 plug-ins for platforms like Windows, macOS, iOS and Linux.
For more information about cmake visit cmake.org.
In order to build a plug-in successfully, it only needs to link to sdk
library. VSTGUI is optional and can be used by linking to vstgui_support
.
The following figure shows the dependency map by using AGain, EditorHost and VST3Inspector:
again
+-- sdk
| +-- sdk_common
| +-- base
| +-- pluginterfaces
|
+-- vstgui_support
+-- base
+-- vstgui_uidescription
+-- vstgui
editorhost
+-- sdk_hosting
+-- sdk_common
+-- base
+-- pluginterfaces
VST3Inspector
+-- vstgui_uidescription
| +-- vstgui
+-- vstgui_standalone
+-- vstgui
Steinberg module, macro, function and variable names have the prefix SMTG_
or smtg_
in order to avoid name clashes.
Steinberg module names are written in camel case and have the prefix SMTG_
.
Examples:
SMTG_AddVST3Library.cmake
SMTG_DetectPlatform.cmake
SMTG_ConfigureCmakeGenerator.cmake
Steinberg macro and function names are written in lower case and have the prefix smtg_
followed by a verb.
Examples:
smtg_detect_platform
smtg_configure_cmake_generator
smtg_setup_symbol_visibility
smtg_detect_xcode_version
Steinberg variable names are written in upper case and have the prefix SMTG_
.
Examples:
SMTG_PLUGIN_BINARY_DIR
SMTG_PLUGIN_EXTENSION
SMTG_PLUGIN_PACKAGE_NAME
More details can be found at www.steinberg.net/sdklicenses_vst3
Return to VST 3 SDK