mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-26 01:30:55 +08:00
[vst3sdk] New port for Steinberg Virtual Studio Technology 3 SDK (#41903)
This commit is contained in:
parent
bf02a3800b
commit
1e14cd769a
133
ports/vst3sdk/portfile.cmake
Normal file
133
ports/vst3sdk/portfile.cmake
Normal file
@ -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}/tools/${PORT}")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/Release/validator" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
|
||||
else()
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/moduleinfotool${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${PORT}")
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/validator${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${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}/tools/${PORT}")
|
||||
else()
|
||||
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/bin/editorhost${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/tools/${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"
|
||||
)
|
30
ports/vst3sdk/vcpkg.json
Normal file
30
ports/vst3sdk/vcpkg.json
Normal file
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
@ -1124,6 +1124,9 @@ v8:x86-windows=fail
|
||||
vowpal-wabbit:arm-neon-android=fail
|
||||
vowpal-wabbit:arm64-android=fail
|
||||
vowpal-wabbit:x64-android=fail
|
||||
# vst3sdk CMake files work only with the GUI version of Xcode
|
||||
vst3sdk:arm64-osx=fail
|
||||
vst3sdk:x64-osx=fail
|
||||
vtk-m:arm-neon-android=fail
|
||||
vtk-m:arm64-android=fail
|
||||
vtk-m:x64-android=fail
|
||||
|
@ -9500,6 +9500,10 @@
|
||||
"baseline": "1.0.5",
|
||||
"port-version": 1
|
||||
},
|
||||
"vst3sdk": {
|
||||
"baseline": "v3.7.12_build_20",
|
||||
"port-version": 0
|
||||
},
|
||||
"vtk": {
|
||||
"baseline": "9.3.0-pv5.12.1",
|
||||
"port-version": 5
|
||||
|
9
versions/v-/vst3sdk.json
Normal file
9
versions/v-/vst3sdk.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "26804a3999322112c07f57f8ed607302a8767ef7",
|
||||
"version-string": "v3.7.12_build_20",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user