VST 3 Interfaces  VST 3.6.14
SDK for developing VST Plug-in
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Macros Groups Pages
How to use cmake for Building VST 3 Plug-ins

The SDK provides a set of cmake files allowing you to compile the included samples and to develop new Plug-ins.

 1. Download cmake from: https://cmake.org or use a package manager for your OS.
 2. you can use the command line or the cmake editor (cmake-gui)
    2.1 Command line for Windows to build Microsoft "Visual 2015" solution:
        // go in to the folder where you extracted the VST 3 SDK
        >mkdir build
        >cd build
        >cmake -G"Visual Studio 15 2017 Win64" "..\VST3_SDK"
        // for Visual 2017: >cmake -G"Visual Studio 15 2017 Win64" "..\VST3_SDK"
     or for 32bit
        >cmake -G"Visual Studio 15 2017" "..\VST3_SDK"
         // note: you can find the string definition for different Visual Studio Generators in the cmake online documentation
    2.2 Command line for macOS to build Xcode project:
        // go in to the folder where you extracted the VST 3 SDK
        >mkdir build
        >cd build
        >/Applications/CMake.app/Content/bin/cmake -G"Xcode" "../VST3_SDK"
    2.3 on Linux you can use QtCreator
        2.3.1 start QtCreator
        2.3.2 open the CMakeLists.txt located at the top of the VST 3 SDK
        2.3.3 click on the menu Build->Run CMake
    2.4 or use cmake-gui:
        2.4.1 start the CMake (cmake-gui) application
        2.4.2 set "Where is the source code" to the location of the "VST3_SDK" folder
        2.4.3 set "Where to build the binaries" to a build folder of your choice
        2.4.4 click on "Configure"
        2.4.5 click on "Generate" for creating project/solution
    2.5 Compile with cmake command line
        >cd build
        >cmake –build .
    2.6 choose a specific compiler with cmake (command line on Linux)
        >cmake -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++
        >cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++
    2.7 available options
          SMTG_ADD_VST3_HOSTING_SAMPLES : Add VST3 Hosting Samples to the solution (default ON)
          SMTG_ADD_VST3_PLUGINS_SAMPLES : Add VST3 Plug-ins Samples to the project (default ON)
          SMTG_ADD_VSTGUI               : Add VSTGUI Support (default ON)
          SMTG_BUILD_UNIVERSAL_BINARY   : Build universal binary (32 & 64 bit) (Mac only)
          SMTG_CREATE_BUNDLE_FOR_WINDOWS: Create Bundle on Windows for the VST3 Plug-ins (New since 3.6.10! Windows only) (default ON)
          SMTG_CREATE_VST2_AGAIN_SAMPLE_VERSION : Allow to create the VST2 version of the Sample Plug-in AGain, be sure that you have copied the VST2 interfaces into the folder VST_SDK/VST3_SDK/pluginterfaces/vst2.x (default OFF)
          SMTG_CREATE_PLUGIN_LINK       : Create symbolic link for each VST3 plug-in in ${VST3_FOLDER_NAME} Folder (you need to have the Administrator right on Windows! or change the Local Group Policy to allow create symbolic links!)
          SMTG_ENABLE_TARGET_VARS_LOG   : Enable to log target variables for debugging (New since 3.6.11!) (default OFF) 
          SMTG_ENABLE_USE_OF_JACK       : Allow to create the audiohost application using Jack (default OFF)
          SMTG_IOS_DEVELOPMENT_TEAM     : Needed for building the InterAppAudio and AUv3 examples for iOS (Mac only)
          SMTG_MYPLUGINS_SRC_PATH       : Here you can add Your VST3 plug-ins folder
          SMTG_PLUGIN_TARGET_PATH       : Here you can redefine the VST3 plug-ins folder
          SMTG_RENAME_ASSERT            : Rename ASSERT to SMTG_ASSERT to avoid potential conflict with 3rd party libraries (default ON)
          SMTG_RUN_VST_VALIDATOR        : Run the VST validator on VST3 plug-ins each time they are built (default ON)
          SMTG_USE_STATIC_CRT           : Use static CRuntime on Windows (option /MT) (default OFF) (Windows only)
        Some other variables:
          SMTG_AAX_SDK_PATH             : Here you can define where the AAX SDK is located (if needed)
          SMTG_COREAUDIO_SDK_PATH       : Here you can define where the COREAUDIO SDK is located (Mac only, if needed)
Note for Windows:
    In order to be able to create Symbolic Link you have to set the correct group policy, for this you can use the following:
    >Run gpedit.msc
    Navigate to Computer configuration => Windows Settings => Security Settings =>Local Policies => User Rights Assignment => Create symbolic links
    Here you can set which users can create symbolic links.
3. Use your IDE for compiling the examples
    3.1 solution/project (vstsdk.sln / vstsdk.xcodeproj) is then generated in the "build" folder.
    3.2 the created Plug-ins are located in sub-folder /VST3/Release or /VST3/Debug in the "build" folder.
    In order to allow DAW to find these Plug-ins you have to create links from the official VST3 Locations to them (see VST 3 Locations / Format).

Copyright ©2019 Steinberg Media Technologies GmbH. All Rights Reserved. This documentation is under this license.