aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libde265
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/libde265
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/libde265')
-rw-r--r--vcpkg/ports/libde265/fix-interface-include.patch13
-rw-r--r--vcpkg/ports/libde265/pkgconfig-cxx-linkage.diff28
-rw-r--r--vcpkg/ports/libde265/portfile.cmake31
-rw-r--r--vcpkg/ports/libde265/vcpkg.json19
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
+ }
+ ]
+}