Initial release
This commit is contained in:
+88
@@ -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)
|
||||
Reference in New Issue
Block a user