GithubHelp home page GithubHelp logo

vst3_cmake's Introduction

Welcome to VST 3 SDK cmake

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.

Dependency map

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

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:

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:

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:

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


Return to VST 3 SDK

vst3_cmake's People

Contributors

ygrabit avatar scheffle avatar ferdnyc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.