From fc4fe565a8a16b69dbfdecd99c4c9a1466cda175 Mon Sep 17 00:00:00 2001 From: Dominic Clark Date: Thu, 24 Sep 2020 20:42:49 +0100 Subject: [lv2] Add port (#13462) --- ports/lv2/CMakeLists.txt | 35 +++++++++++++++++++++++++++++++++++ ports/lv2/portfile.cmake | 25 +++++++++++++++++++++++++ ports/lv2/vcpkg.json | 7 +++++++ 3 files changed, 67 insertions(+) create mode 100644 ports/lv2/CMakeLists.txt create mode 100644 ports/lv2/portfile.cmake create mode 100644 ports/lv2/vcpkg.json diff --git a/ports/lv2/CMakeLists.txt b/ports/lv2/CMakeLists.txt new file mode 100644 index 000000000..fb51906cd --- /dev/null +++ b/ports/lv2/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required(VERSION 3.17) +project(lv2 NONE) + +add_library(lv2 INTERFACE) + +install( + TARGETS lv2 + EXPORT lv2-config + INCLUDES DESTINATION include +) + +install( + DIRECTORY lv2 + DESTINATION include + FILES_MATCHING PATTERN "*.h" +) +install(FILES lv2/core/lv2.h DESTINATION include) + +# Install headers to old URI-style paths, using mapping from wscript +file(READ wscript WSCRIPT) +string(REGEX MATCHALL "'[^']+' *: 'lv2/[^']+'" SPEC_MAP "${WSCRIPT}") +foreach(PAIR ${SPEC_MAP}) + string(REGEX MATCH "'([^']+)' *: '([^']+)'" _ "${PAIR}") + install( + DIRECTORY "lv2/${CMAKE_MATCH_1}/" + DESTINATION "include/${CMAKE_MATCH_2}" + FILES_MATCHING PATTERN "*.h" + ) +endforeach() + +install( + EXPORT lv2-config + NAMESPACE lv2:: + DESTINATION "${CMAKE_INSTALL_PREFIX}/share/lv2" +) diff --git a/ports/lv2/portfile.cmake b/ports/lv2/portfile.cmake new file mode 100644 index 000000000..393bd5dc9 --- /dev/null +++ b/ports/lv2/portfile.cmake @@ -0,0 +1,25 @@ +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com + OUT_SOURCE_PATH SOURCE_PATH + REPO lv2/lv2 + REF v1.18.0 + SHA512 f84c5f2b31f42ed5cab10976d1975743c62f06025a5b67bc99778ba5d0f354c06cb9fad8f5899a52b8c1131f4c9085f5867c83da4d8269c234fd2a22a2c6a689 + HEAD_REF master +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_configure_cmake( + SOURCE_PATH "${SOURCE_PATH}" + PREFER_NINJA +) + +vcpkg_install_cmake() + +vcpkg_fixup_cmake_targets() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug") +file( + INSTALL "${SOURCE_PATH}/COPYING" + DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" + RENAME copyright +) diff --git a/ports/lv2/vcpkg.json b/ports/lv2/vcpkg.json new file mode 100644 index 000000000..8192f734a --- /dev/null +++ b/ports/lv2/vcpkg.json @@ -0,0 +1,7 @@ +{ + "name": "lv2", + "version-string": "1.18.0", + "description": "LV2 is a plugin standard for audio systems. It defines a minimal yet extensible C API for plugin code and a format for plugin \"bundles\".", + "homepage": "https://lv2plug.in", + "license": "ISC" +} -- cgit v1.2.3