VST3 CPack uses CPack (part of CMake) to create VST3 plugin installers for Windows, macOS and Linux. It gives you a good starting point for a simple installer that you can extend by your own components and scripts.
Using CMake's FetchContent
module allows you to easily integrate VST3 CPack into your existing VST3 project
.
include(FetchContent)
FetchContent_Declare(
vst3-cpack
GIT_REPOSITORY https://github.com/hansen-audio/vst3-cpack.git
GIT_TAG main
)
FetchContent_MakeAvailable(vst3-cpack)
Add the following lines to the end of the CMakeLists.txt
which contains the project
command at the beginning. In most cases this is the root CMakeLists.txt
.
get_target_property(PLUGIN_PACKAGE_PATH MyPlugin SMTG_PLUGIN_PACKAGE_PATH)
vst3_cpack_configure(
PLUGIN_PACKAGE_PATH "${PLUGIN_PACKAGE_PATH}"
PLUGIN_PRESETS_PATH "/path/to/MyPlugin/presets" # Optional
)
include(CPack)
include(CPack)
must be called at the very end!
You can still use CPack as usual and set CPack variables.
...
set(CPACK_PACKAGE_VENDOR "My Company")
set(CPACK_RESOURCE_FILE_LICENSE ${PROJECT_SOURCE_DIR}/LICENSE)
vst3_cpack_configure(
PLUGIN_PACKAGE_PATH "/path/to/build/Release/MyPlugin.vst3"
PLUGIN_PRESETS_PATH "/path/to/MyPlugin/presets" # Optional
)
include(CPack)
VST3 CPack is tested with following CPack geneartors:
- Windows:
INNOSETUP
andNSIS
- macOS:
productbuild
- Linux:
TGZ
Other CPack generators might work as well. If you find a generator which is not working as expected, report an issue or create a pull request.
Execute CPack inside the CMake binary directory of your VST3 project
.
cpack -C Release -G INNOSETUP .
You can also use
-C Debug
to pickup the debug build of your VST3 plugin for testing purpose.
Use winget
command line tool on Windows to install Inno Setup (https://jrsoftware.org) and/or NSIS (https://nsis.sourceforge.io).
winget install JRSoftware.InnoSetup
winget install NSIS.NSIS