From 953841754f9825cabc7c7d438636194cc4a8bd38 Mon Sep 17 00:00:00 2001 From: Jean Pierre Cimalando Date: Sun, 5 Sep 2021 21:22:43 +0200 Subject: [PATCH] cmake: Generate the VST as a bundle on macOS --- cmake/DPF-plugin.cmake | 11 +++++++++++ utils/generate-vst-bundles.sh | 2 +- utils/plugin.vst/Contents/Info.plist | 4 ++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/cmake/DPF-plugin.cmake b/cmake/DPF-plugin.cmake index 98638a50..0253dbca 100644 --- a/cmake/DPF-plugin.cmake +++ b/cmake/DPF-plugin.cmake @@ -317,6 +317,17 @@ function(dpf__build_vst2 NAME DGL_LIBRARY) ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/obj/vst2/$<0:>" OUTPUT_NAME "${NAME}-vst2" PREFIX "") + if(APPLE) + set_target_properties("${NAME}-vst2" PROPERTIES + LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin/${NAME}.vst/Contents/MacOS/$<0:>" + OUTPUT_NAME "${NAME}" + SUFFIX "") + set(INFO_PLIST_PROJECT_NAME "${NAME}") + configure_file("${DPF_ROOT_DIR}/utils/plugin.vst/Contents/Info.plist" + "${PROJECT_BINARY_DIR}/bin/${NAME}.vst/Contents/Info.plist" @ONLY) + file(COPY "${DPF_ROOT_DIR}/utils/plugin.vst/Contents/PkgInfo" + DESTINATION "${PROJECT_BINARY_DIR}/bin/${NAME}.vst/Contents") + endif() endfunction() # dpf__add_dgl_cairo diff --git a/utils/generate-vst-bundles.sh b/utils/generate-vst-bundles.sh index 1cf784a4..e1d73f25 100755 --- a/utils/generate-vst-bundles.sh +++ b/utils/generate-vst-bundles.sh @@ -19,7 +19,7 @@ for i in $PLUGINS; do cp -r ${DPF_DIR}/utils/plugin.vst/ ${BUNDLE}.vst mv ${i} ${BUNDLE}.vst/Contents/MacOS/${BUNDLE} rm -f ${BUNDLE}.vst/Contents/MacOS/deleteme - sed -i -e "s/X-PROJECTNAME-X/${BUNDLE}/" ${BUNDLE}.vst/Contents/Info.plist + sed -i -e "s/@INFO_PLIST_PROJECT_NAME@/${BUNDLE}/" ${BUNDLE}.vst/Contents/Info.plist rm -f ${BUNDLE}.vst/Contents/Info.plist-e done diff --git a/utils/plugin.vst/Contents/Info.plist b/utils/plugin.vst/Contents/Info.plist index 6eef795f..f2f15ff4 100644 --- a/utils/plugin.vst/Contents/Info.plist +++ b/utils/plugin.vst/Contents/Info.plist @@ -5,11 +5,11 @@ CFBundleDevelopmentRegion English CFBundleExecutable - X-PROJECTNAME-X + @INFO_PLIST_PROJECT_NAME@ CFBundleIconFile CFBundleIdentifier - studio.kx.distrho.X-PROJECTNAME-X + studio.kx.distrho.@INFO_PLIST_PROJECT_NAME@ CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType