-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[vst3sdk] New port for Steinberg Virtual Studio Technology 3 SDK #41903
Open
JoergAtGithub
wants to merge
7
commits into
microsoft:master
Choose a base branch
from
JoergAtGithub:vst3sdk
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
6b9eda3
New port vst3sdk
JoergAtGithub 99c74c0
Formating and code style suggestions
JoergAtGithub 491b2fe
Add osx as supported by the port, but set `arm64-osx` and `x64-osx` a…
JoergAtGithub aba2ede
Use vcpkg_cmake_build() instead of vcpkg_build_cmake()
JoergAtGithub d506c28
Added missing empty line at portfile end
JoergAtGithub 346df43
Use vcpkg_install_copyright
JoergAtGithub 0dfecb7
Removed VCPKG_POLICY_SKIP_CRT_LINKAGE_CHECK and removed staticcrt tri…
JoergAtGithub File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,133 @@ | ||
vcpkg_from_github( | ||
OUT_SOURCE_PATH SOURCE_PATH | ||
REPO steinbergmedia/vst3sdk | ||
REF ${VERSION} | ||
SHA512 0a0dc8d84a943ef06353cea748c8dd09e012f70f28ce56912c3e0038718dd2f353e142d4f39ea52979f3c08446a4ee0e8f0038c6d602207da8b0a22877e0c9f2 | ||
HEAD_REF master | ||
) | ||
|
||
#Submodules | ||
vcpkg_from_github( | ||
OUT_SOURCE_PATH BASE_SOURCE_PATH | ||
REPO steinbergmedia/vst3_base | ||
REF ${VERSION} | ||
SHA512 84f7ce79674756bde0829ea12220d15b1f82bd68dea8214ae0430324ab55cfa224550b7afc7962686359bb267b971860977d1993f4de76789d79d41b397ece9d | ||
HEAD_REF master | ||
) | ||
file(REMOVE_RECURSE "${SOURCE_PATH}/base") | ||
file(RENAME "${BASE_SOURCE_PATH}" "${SOURCE_PATH}/base") | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH CMAKE_SOURCE_PATH | ||
REPO steinbergmedia/vst3_cmake | ||
REF ${VERSION} | ||
SHA512 4beac9436786f2d6fc73f67a0eac5f96fdfb515f79c4ce1ef6fe7f39cdfdd6d026d903d177bd58438dc5576f0d3124843c7eabb97737f91425105e28efa6e636 | ||
HEAD_REF master | ||
) | ||
file(REMOVE_RECURSE "${SOURCE_PATH}/cmake") | ||
file(RENAME "${CMAKE_SOURCE_PATH}" "${SOURCE_PATH}/cmake") | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH DOC_SOURCE_PATH | ||
REPO steinbergmedia/vst3_doc | ||
REF ${VERSION} | ||
SHA512 b6a99ddfa749abd547ac0a1ff37e00985b7df537b32534d6e9255733257b104bbd0643d69675bc1d9c69d248aba45694e559996cc7eac97f977faef0daf84352 | ||
HEAD_REF master | ||
) | ||
file(REMOVE_RECURSE "${SOURCE_PATH}/doc") | ||
file(RENAME "${DOC_SOURCE_PATH}" "${SOURCE_PATH}/doc") | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH PLUGININTERFACES_SOURCE_PATH | ||
REPO steinbergmedia/vst3_pluginterfaces | ||
REF ${VERSION} | ||
SHA512 f0007b3b5c917c0bc1f0fa4320d1800ee99a0cc445654e5d12b0e094f2ec20cffc9c9051d89fca917d59ac48313524f65fb7647ffe32eae95e50c3adc811a63f | ||
HEAD_REF master | ||
) | ||
file(REMOVE_RECURSE "${SOURCE_PATH}/pluginterfaces") | ||
file(RENAME "${PLUGININTERFACES_SOURCE_PATH}" "${SOURCE_PATH}/pluginterfaces") | ||
|
||
vcpkg_from_github( | ||
OUT_SOURCE_PATH PUBLIC_SDK_SOURCE_PATH | ||
REPO steinbergmedia/vst3_public_sdk | ||
REF ${VERSION} | ||
SHA512 695f2cf55bbabd57f466d0c6181c2b90314745f91f90c5b27db8617b3fe98c7a5f8675909bf5294371e3e90d10b9145ed8432e5ed16e09faa5b123740f73ba3f | ||
HEAD_REF master | ||
) | ||
file(REMOVE_RECURSE "${SOURCE_PATH}/public.sdk") | ||
file(RENAME "${PUBLIC_SDK_SOURCE_PATH}" "${SOURCE_PATH}/public.sdk") | ||
|
||
# Note that the submodules "vst3_tutorials" and "vstgui4" are standalone repos, which have own release cycles. | ||
# Therefore these are not part of this port | ||
|
||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS | ||
FEATURES | ||
"plugin-examples" SMTG_ENABLE_VST3_PLUGIN_EXAMPLES | ||
"hosting-examples" SMTG_ENABLE_VST3_HOSTING_EXAMPLES | ||
"audiounit-wrapper" SMTG_ENABLE_AUV2_BUILDS | ||
) | ||
|
||
vcpkg_cmake_configure( | ||
SOURCE_PATH "${SOURCE_PATH}" | ||
OPTIONS | ||
-DSMTG_ENABLE_VSTGUI_SUPPORT=OFF | ||
-DSMTG_CREATE_PLUGIN_LINK=OFF | ||
${FEATURE_OPTIONS} | ||
) | ||
|
||
vcpkg_cmake_build() | ||
|
||
if (NOT VCPKG_BUILD_TYPE STREQUAL "release") | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib/vst3sdk") | ||
endif() | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/lib/" DESTINATION "${CURRENT_PACKAGES_DIR}/lib/vst3sdk") | ||
|
||
file(INSTALL "${SOURCE_PATH}/base/source/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vst3sdk/base/source/" FILES_MATCHING PATTERN "*.h") | ||
file(INSTALL "${SOURCE_PATH}/pluginterfaces/base/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vst3sdk/pluginterfaces/base/" FILES_MATCHING PATTERN "*.h") | ||
file(INSTALL "${SOURCE_PATH}/pluginterfaces/gui/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vst3sdk/pluginterfaces/gui/" FILES_MATCHING PATTERN "*.h") | ||
file(INSTALL "${SOURCE_PATH}/pluginterfaces/vst/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vst3sdk/pluginterfaces/vst/" FILES_MATCHING PATTERN "*.h") | ||
file(INSTALL "${SOURCE_PATH}/public.sdk/source/vst/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk//source/vst/" FILES_MATCHING PATTERN "*.h") | ||
|
||
if (VCPKG_TARGET_IS_LINUX) | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/Release/moduleinfotool" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/Release/validator" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
else() | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/moduleinfotool${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/validator${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
endif() | ||
|
||
if ("plugin-examples" IN_LIST FEATURES) | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/VST3" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
endif() | ||
|
||
if ("hosting-examples" IN_LIST FEATURES) | ||
if (VCPKG_TARGET_IS_LINUX) | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/Release/editorhost" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
else() | ||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/editorhost${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") | ||
endif() | ||
endif() | ||
|
||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.txt") | ||
|
||
|
||
if (VCPKG_TARGET_IS_APPLE AND NOT "audiounit-wrapper" IN_LIST FEATURES) | ||
file(REMOVE_RECURSE | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/aaxwrapper/resource" | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/auv3wrapper/AUv3WrappermacOS" | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/auwrapper/config" | ||
) | ||
else() | ||
file(REMOVE_RECURSE | ||
# Remove macOS AudioUnit wrapper | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/aaxwrapper/" | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/auv3wrapper/" | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/auwrapper/" | ||
) | ||
endif() | ||
|
||
# Remove other empty directories | ||
file(REMOVE_RECURSE | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/hosting/test" | ||
"${CURRENT_PACKAGES_DIR}/include/vst3sdk/public.sdk/source/vst/utility/test" | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{ | ||
"name": "vst3sdk", | ||
"version-string": "v3.7.12_build_20", | ||
"description": "Virtual Studio Technology (VST) is an audio plug-in software interface that facilitates the integration of software synthesizers and effects in digital audio workstations (DAW)", | ||
"homepage": "https://steinbergmedia.github.io/vst3_dev_portal/pages/Technical+Documentation/API+Documentation/Index.html", | ||
"license": "GPL-3.0-only", | ||
"supports": "!android & !uwp & !(arm64 & windows) & !staticcrt", | ||
"dependencies": [ | ||
{ | ||
"name": "vcpkg-cmake", | ||
"host": true | ||
}, | ||
{ | ||
"name": "vcpkg-cmake-config", | ||
"host": true | ||
} | ||
], | ||
"features": { | ||
"audiounit-wrapper": { | ||
"description": "Include AudioUnit wrappers for macOS", | ||
"supports": "osx" | ||
}, | ||
"hosting-examples": { | ||
"description": "Build examples for VST3 host applications" | ||
}, | ||
"plugin-examples": { | ||
"description": "Build examples for VST3 plugins" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"versions": [ | ||
{ | ||
"git-tree": "cf72d3790530ab523bbc5065c83e5a0852d13314", | ||
"version-string": "v3.7.12_build_20", | ||
"port-version": 0 | ||
} | ||
] | ||
} |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these executables required for the proper function of the library? Executable files should be installed in
tools\${PORT}
rather thanshare\${PORT}