ASPiK SDK
Running CMake

CMake
This document explains how to install and run CMake on your ASPiK projects. It also includes specifics to each API including the location of your final plugin once it is built.

Installing CMake

In order to generate the ASPiK project compiler files, you need to have CMake installed on your OS. For ease, you should add the CMake executable to your default path. Download the latest version of CMake at http://cmake.org/

Windows
During installation, you have the option of adding CMake to your default path list.
Choose YES for this option and you are done.

MacOS
In each case (Windows vs MacOS), you first navigate to the <OS>_build folder inside of the project folder. For Windows it is named win_build and for MacOS it is named mac_build. You will notice that these folders are empty when you navigate to them. This is correct for a freshly created project.

Running CMake will populate the build folder with the newly created XCode or Visual Studio project. After that you can open the compiler project and rebuild your solution as usual. To run CMake:

MaxOS: open a Terminal shell

WinOS: open the Command Prompt with admin privileges (aka "Command Prompt (Admin)")
Navigate and find your myprojects folder inside a particular SDK (individual) or in the ALL_SDK folder (universal).

Navigate into your ASPiK project folder and then again into either the win_build or mac_build sub-folders according to your OS. You must run CMake from folder inside of the one that contains the outer CMakeLists.txt file. This is a quirk of CMake.

Run CMake as follows:

VS 2015 (for VST3 and AAX) 64-bit:
cmake -G"Visual Studio 14 2015 Win64" ../

VS 2017 (for VST3 and AAX) 64-bit:
cmake -G"Visual Studio 15 2017 Win64" ../

Xcode:
cmake -GXcode ../

You can find the CMake generator (G) codes for other Visual Studio compilers here:

https://cmake.org/cmake/help/v3.10/manual/cmake-generators.7.html

NOTE: the VSTGUI SDK requires C++11 so make sure your compiler is 100% C++11 compliant. Many older versions of Visual Studio are NOT 100% compliant so beware.

Compile Targets
Xcode calls each project a "target" while Visual Studio uses "Project" each of these compiles to produce either your final plugin or a library (or multiple libraries) needed to compile it.

For individual projects, you will only have target(s) associated with one particular API. For universal projects, there will be targets for everything required to build for all APIs.

VST3: The VST3 compiler project will include targets for two executables: validator and editorhost. These are automatically added by a CMakeLists.txt file that is internal to the VST3 SDK and that we do not want to modify. The validator project is required in the solution. The editorhost is optional and you can safely ignore it. See the VST3 section below for more information about the validator.