diff options
Diffstat (limited to 'vcpkg/ports/libavif')
| -rw-r--r-- | vcpkg/ports/libavif/dependencies.diff | 52 | ||||
| -rw-r--r-- | vcpkg/ports/libavif/disable-source-utf8.patch | 15 | ||||
| -rw-r--r-- | vcpkg/ports/libavif/portfile.cmake | 37 | ||||
| -rw-r--r-- | vcpkg/ports/libavif/vcpkg.json | 33 |
4 files changed, 137 insertions, 0 deletions
diff --git a/vcpkg/ports/libavif/dependencies.diff b/vcpkg/ports/libavif/dependencies.diff new file mode 100644 index 0000000..2a0f489 --- /dev/null +++ b/vcpkg/ports/libavif/dependencies.diff @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a28e6c3..aaeb5d2 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -248,6 +248,7 @@ if(AVIF_LIBYUV_ENABLED) + target_compile_definitions(avif_obj PRIVATE -DAVIF_LIBYUV_ENABLED=1) + avif_target_link_library(yuv::yuv) + set(AVIF_PKG_CONFIG_EXTRA_LIBS_PRIVATE "${AVIF_PKG_CONFIG_EXTRA_LIBS_PRIVATE} -lyuv") ++ set(AVIF_PKG_CONFIG_EXTRA_REQUIRES_PRIVATE "${AVIF_PKG_CONFIG_EXTRA_REQUIRES_PRIVATE} libjpeg") + set(AVIF_LIB_USE_CXX ON) + endif(AVIF_LIBYUV_ENABLED) + +@@ -849,13 +850,38 @@ if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) + + # Enable CMake configs in VCPKG mode + if(BUILD_SHARED_LIBS OR VCPKG_TARGET_TRIPLET) +- install(EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}) ++ install(EXPORT ${PROJECT_NAME}-config DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} FILE ${PROJECT_NAME}-targets.cmake) ++ if(NOT BUILD_SHARED_LIBS) ++ target_include_directories(avif_static PUBLIC $<INSTALL_INTERFACE:include>) ++ set(avif_static_link_libs yuv) ++ set(avif_find_dependencies "find_dependency(libyuv CONFIG)\n") ++ if(AVIF_CODEC_AOM_ENABLED) ++ find_package(AOM CONFIG REQUIRED) ++ list(APPEND avif_static_link_libs AOM::aom) ++ string(APPEND avif_find_dependencies "find_dependency(AOM CONFIG)\n") ++ endif() ++ if(AVIF_CODEC_DAV1D_ENABLED) ++ list(APPEND avif_static_link_libs ${DAV1D_LIBRARIES} ${CMAKE_DL_LIBS}) ++ endif() ++ if(UNIX OR MINGW) ++ list(APPEND avif_static_link_libs Threads::Threads m) ++ string(APPEND avif_find_dependencies "set(THREADS_PREFER_PTHREAD_FLAG ON)\nfind_dependency(Threads)\n") ++ endif() ++ target_link_libraries(avif_static INTERFACE ${avif_static_link_libs}) ++ endif() ++ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake" ++"# Generated by vcpkg ++include(CMakeFindDependencyMacro) ++${avif_find_dependencies} ++include(\"\${CMAKE_CURRENT_LIST_DIR}/${PROJECT_NAME}-targets.cmake\") ++") + + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + ${PROJECT_NAME}-config-version.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion + ) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config-version.cmake ++ ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}-config.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} + ) + endif() diff --git a/vcpkg/ports/libavif/disable-source-utf8.patch b/vcpkg/ports/libavif/disable-source-utf8.patch new file mode 100644 index 0000000..3cb92be --- /dev/null +++ b/vcpkg/ports/libavif/disable-source-utf8.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index baf5964..a28e6c3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -296,8 +296,8 @@ if(MSVC) + # A C4556 warning will be generated on violation. + # Commonly used /utf-8 flag assumes UTF-8 for both source and console, which is usually not the case. + # Warnings can be suppressed but there will still be random characters printed to the console. +- /source-charset:utf-8 +- /execution-charset:us-ascii ++ #/source-charset:utf-8 ++ #/execution-charset:us-ascii + > + ) + endif() diff --git a/vcpkg/ports/libavif/portfile.cmake b/vcpkg/ports/libavif/portfile.cmake new file mode 100644 index 0000000..ca6b231 --- /dev/null +++ b/vcpkg/ports/libavif/portfile.cmake @@ -0,0 +1,37 @@ +vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO AOMediaCodec/libavif
+ REF "v${VERSION}"
+ SHA512 a411579c851b7c46ddbd93c3549295e0901d822c817f5378b2c75b6a4f16eba1dffdf611bd1789dedeba776e701690a7437f9caeb9eb6dc382fc64935949dbf4
+ HEAD_REF master
+ PATCHES
+ dependencies.diff
+ disable-source-utf8.patch
+)
+file(REMOVE_RECURSE "${SOURCE_PATH}/third_party")
+
+set(FEATURE_OPTIONS "")
+if("aom" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS "-DAVIF_CODEC_AOM=SYSTEM")
+endif()
+if("dav1d" IN_LIST FEATURES)
+ list(APPEND FEATURE_OPTIONS "-DAVIF_CODEC_DAV1D=SYSTEM")
+endif()
+
+vcpkg_find_acquire_program(PKGCONFIG)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${FEATURE_OPTIONS}
+ "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
+)
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+vcpkg_fixup_pkgconfig()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/${PORT})
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include"
+ "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/libavif/vcpkg.json b/vcpkg/ports/libavif/vcpkg.json new file mode 100644 index 0000000..63646d9 --- /dev/null +++ b/vcpkg/ports/libavif/vcpkg.json @@ -0,0 +1,33 @@ +{ + "name": "libavif", + "version-semver": "1.3.0", + "port-version": 1, + "description": "Library for encoding and decoding AVIF files", + "homepage": "https://github.com/AOMediaCodec/libavif", + "license": "BSD-2-Clause AND Apache-2.0", + "dependencies": [ + "libyuv", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "aom": { + "description": "AV1 codec library", + "dependencies": [ + "aom" + ] + }, + "dav1d": { + "description": "dav1d decoder library", + "dependencies": [ + "dav1d" + ] + } + } +} |