Initial release

This commit is contained in:
civ
2026-08-16 18:24:52 +07:00
commit 876886a39a
13244 changed files with 2353959 additions and 0 deletions
+88
View File
@@ -0,0 +1,88 @@
# Welcome to VST 3 SDK cmake
This repository contains Steinberg's [cmake modules](https://cmake.org/cmake/help/latest/manual/cmake-modules.7.html) 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](https:://www.cmake.org/).
## Dependency map
In order to build a plug-in successfully, it only needs to link to ```sdk``` library. [VSTGUI](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/VSTGUI.html) is optional and can be used by linking to ```vstgui_support```.
The following figure shows the dependency map by using AGain, [EditorHost](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/EditorHost.html) and [VST3Inspector](https://steinbergmedia.github.io/vst3_dev_portal/pages/What+is+the+VST+3+SDK/VST3Inspector.html):
```tree
again
+-- sdk
| +-- sdk_common
| +-- base
| +-- pluginterfaces
|
+-- vstgui_support
+-- base
+-- vstgui_uidescription
+-- vstgui
```
```tree
editorhost
+-- sdk_hosting
+-- sdk_common
+-- base
+-- pluginterfaces
```
```tree
VST3Inspector
+-- vstgui_uidescription
| +-- vstgui
+-- vstgui_standalone
+-- vstgui
```
## Naming conventions and guidelines
Steinberg module, macro, function and variable names have the prefix ```SMTG_``` or ```smtg_``` in order to avoid name clashes.
### File namings
Steinberg module names are written in camel case and have the prefix ```SMTG_```.
Examples:
```c
SMTG_AddVST3Library.cmake
SMTG_DetectPlatform.cmake
SMTG_ConfigureCmakeGenerator.cmake
```
### Macro and function namings
Steinberg macro and function names are written in lower case and have the prefix ```smtg_``` followed by a verb.
Examples:
```c
smtg_detect_platform
smtg_configure_cmake_generator
smtg_setup_symbol_visibility
smtg_detect_xcode_version
```
### Variable namings
Steinberg variable names are written in upper case and have the prefix ```SMTG_```.
Examples:
```c
SMTG_PLUGIN_BINARY_DIR
SMTG_PLUGIN_EXTENSION
SMTG_PLUGIN_PACKAGE_NAME
```
## License & Usage guidelines
More details can be found at [www.steinberg.net/sdklicenses_vst3](http://www.steinberg.net/sdklicenses_vst3)
----
Return to [VST 3 SDK](https://github.com/steinbergmedia/vst3sdk)