diff options
| author | Dominic Clark <mrdomclark@gmail.com> | 2020-10-23 08:34:02 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-10-23 00:34:02 -0700 |
| commit | e6d762b94b1a1cfa78b5cf5427b3bb5715309c8c (patch) | |
| tree | 7d3d3d7b47ac1d01520a3173773bd7cee5a05309 | |
| parent | 5b93dabe795b5417a209262da1ad87bbee1dbb05 (diff) | |
| download | vcpkg-e6d762b94b1a1cfa78b5cf5427b3bb5715309c8c.tar.gz vcpkg-e6d762b94b1a1cfa78b5cf5427b3bb5715309c8c.zip | |
Add lilv port (#14080)
Co-authored-by: NancyLi1013 <lirui09@beyondsoft.com>
| -rw-r--r-- | ports/lilv/CMakeLists.txt | 96 | ||||
| -rw-r--r-- | ports/lilv/portfile.cmake | 28 | ||||
| -rw-r--r-- | ports/lilv/vcpkg.json | 14 |
3 files changed, 138 insertions, 0 deletions
diff --git a/ports/lilv/CMakeLists.txt b/ports/lilv/CMakeLists.txt new file mode 100644 index 000000000..7dd5cbeba --- /dev/null +++ b/ports/lilv/CMakeLists.txt @@ -0,0 +1,96 @@ +cmake_minimum_required(VERSION 3.17)
+project(lilv C)
+
+find_package(lv2 CONFIG REQUIRED)
+find_package(serd CONFIG REQUIRED)
+find_package(sord CONFIG REQUIRED)
+find_package(sratom CONFIG REQUIRED)
+
+add_library(lilv
+ src/collections.c
+ src/filesystem.c
+ src/instance.c
+ src/lib.c
+ src/node.c
+ src/plugin.c
+ src/pluginclass.c
+ src/port.c
+ src/query.c
+ src/scalepoint.c
+ src/state.c
+ src/ui.c
+ src/util.c
+ src/world.c
+ src/zix/tree.c
+)
+
+if(CMAKE_SYSTEM_NAME STREQUAL "Windows" OR CMAKE_SYSTEM_NAME STREQUAL "MinGW")
+ set(LILV_PATH_SEP [[;]])
+ set(LILV_DIR_SEP [[\\]])
+ set(LV2_PATH [[%APPDATA%\\LV2;%COMMONPROGRAMFILES%\\LV2]])
+elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+ set(LILV_PATH_SEP ":")
+ set(LILV_DIR_SEP "/")
+ set(LV2_PATH "~/Library/Audio/Plug-Ins/LV2:~/.lv2:/usr/local/lib/lv2:/usr/lib/lv2:/Library/Audio/Plug-Ins/LV2")
+else()
+ set(LILV_PATH_SEP ":")
+ set(LILV_DIR_SEP "/")
+ set(LV2_PATH "~/.lv2:/usr/lib/lv2:/usr/local/lib/lv2")
+endif()
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lilv_config.h.in" [[
+#define LILV_PATH_SEP "@LILV_PATH_SEP@"
+#define LILV_DIR_SEP "@LILV_DIR_SEP@"
+#define LILV_DEFAULT_LV2_PATH "@LV2_PATH@"
+]])
+configure_file("${CMAKE_CURRENT_BINARY_DIR}/lilv_config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/lilv_config.h")
+
+target_include_directories(lilv
+ PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/src" "${CMAKE_CURRENT_BINARY_DIR}"
+)
+
+target_link_libraries(lilv
+ PUBLIC lv2::lv2
+ PRIVATE serd::serd sord::sord sratom::sratom
+)
+
+set_target_properties(lilv PROPERTIES
+ C_STANDARD 99
+ C_STANDARD_REQUIRED ON
+)
+
+target_compile_definitions(lilv PRIVATE LILV_INTERNAL _CRT_SECURE_NO_WARNINGS)
+
+if(BUILD_SHARED_LIBS)
+ target_compile_definitions(lilv PUBLIC LILV_SHARED)
+endif()
+
+install(
+ TARGETS lilv
+ EXPORT lilv-targets
+ INCLUDES DESTINATION include
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(DIRECTORY lilv DESTINATION include)
+endif()
+
+install(
+ EXPORT lilv-targets
+ NAMESPACE lilv::
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/lilv"
+)
+
+file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/lilv-config.cmake" [[
+include(CMakeFindDependencyMacro)
+find_dependency(lv2 CONFIG)
+find_dependency(serd CONFIG)
+find_dependency(sord CONFIG)
+find_dependency(sratom CONFIG)
+include("${CMAKE_CURRENT_LIST_DIR}/lilv-targets.cmake")
+]])
+
+install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/lilv-config.cmake"
+ DESTINATION "${CMAKE_INSTALL_PREFIX}/share/lilv"
+)
diff --git a/ports/lilv/portfile.cmake b/ports/lilv/portfile.cmake new file mode 100644 index 000000000..858c6c3bf --- /dev/null +++ b/ports/lilv/portfile.cmake @@ -0,0 +1,28 @@ +vcpkg_fail_port_install(ON_TARGET "UWP")
+
+vcpkg_from_gitlab(
+ GITLAB_URL https://gitlab.com
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO lv2/lilv
+ REF v0.24.10
+ SHA512 be47b72f2671f3bbab219944519b990156547e26aa432c2618273683c86dc23ae3b071d1de586f45dfda3ea8dbbc095429ad318fda60efcf715ae917a7caa34b
+ HEAD_REF master
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_configure_cmake(
+ SOURCE_PATH "${SOURCE_PATH}"
+ PREFER_NINJA
+ OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=1
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+vcpkg_fixup_cmake_targets()
+file(
+ INSTALL "${SOURCE_PATH}/COPYING"
+ DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}"
+ RENAME copyright
+)
diff --git a/ports/lilv/vcpkg.json b/ports/lilv/vcpkg.json new file mode 100644 index 000000000..bcebc1eca --- /dev/null +++ b/ports/lilv/vcpkg.json @@ -0,0 +1,14 @@ +{ + "name": "lilv", + "version-string": "0.24.10", + "description": "Lilv is a C library for simple use of LV2 plugins in applications.", + "homepage": "https://drobilla.net/software/lilv", + "license": "ISC", + "supports": "!uwp", + "dependencies": [ + "lv2", + "serd", + "sord", + "sratom" + ] +} |
