diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libde265 | |
Diffstat (limited to 'vcpkg/ports/libde265')
| -rw-r--r-- | vcpkg/ports/libde265/fix-interface-include.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/libde265/pkgconfig-cxx-linkage.diff | 28 | ||||
| -rw-r--r-- | vcpkg/ports/libde265/portfile.cmake | 31 | ||||
| -rw-r--r-- | vcpkg/ports/libde265/vcpkg.json | 19 |
4 files changed, 91 insertions, 0 deletions
diff --git a/vcpkg/ports/libde265/fix-interface-include.patch b/vcpkg/ports/libde265/fix-interface-include.patch new file mode 100644 index 0000000..4753727 --- /dev/null +++ b/vcpkg/ports/libde265/fix-interface-include.patch @@ -0,0 +1,13 @@ +diff --git a/libde265/CMakeLists.txt b/libde265/CMakeLists.txt +index 9fa2837..d17097c 100644 +--- a/libde265/CMakeLists.txt ++++ b/libde265/CMakeLists.txt +@@ -123,7 +123,7 @@ endif() + + add_library(de265 ${libde265_sources} ${libde265_public_headers} ${ENCODER_OBJECTS} ${X86_OBJECTS}) + target_link_libraries(de265 PRIVATE Threads::Threads) +-target_include_directories(de265 PRIVATE ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}) ++target_include_directories(de265 PRIVATE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR}> PUBLIC $<INSTALL_INTERFACE:include>) + + write_basic_package_version_file(libde265ConfigVersion.cmake COMPATIBILITY ExactVersion) + diff --git a/vcpkg/ports/libde265/pkgconfig-cxx-linkage.diff b/vcpkg/ports/libde265/pkgconfig-cxx-linkage.diff new file mode 100644 index 0000000..1503f3d --- /dev/null +++ b/vcpkg/ports/libde265/pkgconfig-cxx-linkage.diff @@ -0,0 +1,28 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4da9921..14cef0d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -44,13 +44,16 @@ if(CMAKE_COMPILER_IS_GNUCXX OR ${CMAKE_CXX_COMPILER_ID} MATCHES Clang) + add_definitions(-Wall) + endif() + +-include(CheckCXXSymbolExists) +-check_cxx_symbol_exists(_LIBCPP_VERSION cstdlib HAVE_LIBCPP) +-if(HAVE_LIBCPP) +- set(LIBS_PRIVATE "-lc++") +-else() +- set(LIBS_PRIVATE "-lstdc++") +-endif() ++set(LIBS_PRIVATE "") ++foreach(lib IN LISTS CMAKE_CXX_IMPLICIT_LINK_LIBRARIES) ++ if(lib IN_LIST CMAKE_C_IMPLICIT_LINK_LIBRARIES) ++ continue() ++ elseif(EXISTS "${lib}") ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FILE_FLAG}${lib}") ++ else() ++ string(APPEND LIBS_PRIVATE " ${CMAKE_LINK_LIBRARY_FLAG}${lib}") ++ endif() ++endforeach() + + option(BUILD_SHARED_LIBS "Build shared library" ON) + if(NOT BUILD_SHARED_LIBS) diff --git a/vcpkg/ports/libde265/portfile.cmake b/vcpkg/ports/libde265/portfile.cmake new file mode 100644 index 0000000..8e832ef --- /dev/null +++ b/vcpkg/ports/libde265/portfile.cmake @@ -0,0 +1,31 @@ +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO strukturag/libde265 + REF "v${VERSION}" + SHA512 bda239b4827c81552855dc540724b74c86f6b02bcd0fe556650bc16d665a8eed1ddbde76ac0972d26b3002b14575bb9b6f70b367c39eb7de45c5c9df324e3d05 + HEAD_REF master + PATCHES + fix-interface-include.patch + pkgconfig-cxx-linkage.diff +) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DENABLE_SDL=OFF +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/libde265) +vcpkg_copy_tools(TOOL_NAMES dec265 AUTO_CLEAN) +vcpkg_fixup_pkgconfig() + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libde265/de265.h" "!defined(LIBDE265_STATIC_BUILD)" "0") +else() + vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/libde265/de265.h" "!defined(LIBDE265_STATIC_BUILD)" "1") +endif() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING") diff --git a/vcpkg/ports/libde265/vcpkg.json b/vcpkg/ports/libde265/vcpkg.json new file mode 100644 index 0000000..f29489b --- /dev/null +++ b/vcpkg/ports/libde265/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "libde265", + "version": "1.0.16", + "port-version": 1, + "description": "Open h.265 video codec implementation.", + "homepage": "https://www.libde265.org/", + "license": "LGPL-3.0-only", + "supports": "!uwp & !xbox", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |