aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libexif
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libexif')
-rw-r--r--vcpkg/ports/libexif/fix-ssize.patch16
-rw-r--r--vcpkg/ports/libexif/portfile.cmake33
-rw-r--r--vcpkg/ports/libexif/unofficial-libexif-config.cmake30
-rw-r--r--vcpkg/ports/libexif/vcpkg.json34
4 files changed, 113 insertions, 0 deletions
diff --git a/vcpkg/ports/libexif/fix-ssize.patch b/vcpkg/ports/libexif/fix-ssize.patch
new file mode 100644
index 0000000..afcd87c
--- /dev/null
+++ b/vcpkg/ports/libexif/fix-ssize.patch
@@ -0,0 +1,16 @@
+diff --git a/libexif/exif-loader.c b/libexif/exif-loader.c
+index ad4ae96..8a24ef6 100644
+--- a/libexif/exif-loader.c
++++ b/libexif/exif-loader.c
+@@ -19,6 +19,11 @@
+ */
+
+ #include <config.h>
++#ifdef _WIN32
++#include <stddef.h>
++#define ssize_t ptrdiff_t
++#endif
++
+
+ #include <libexif/exif-loader.h>
+ #include <libexif/exif-utils.h>
diff --git a/vcpkg/ports/libexif/portfile.cmake b/vcpkg/ports/libexif/portfile.cmake
new file mode 100644
index 0000000..cc9907e
--- /dev/null
+++ b/vcpkg/ports/libexif/portfile.cmake
@@ -0,0 +1,33 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO libexif/libexif
+ REF "v${VERSION}"
+ SHA512 6e50134eab2fcf93036ecf8a9a9f89273ab8ddc4a171523f1f88f6d90bda799ef8f6a597c1c308fe8153dcc685a2d2b473e758e2286ce4d3143dd829e07a8c80
+ HEAD_REF master
+ PATCHES
+ fix-ssize.patch
+)
+
+vcpkg_list(SET options)
+if("nls" IN_LIST FEATURES)
+ vcpkg_list(APPEND options "--enable-nls")
+else()
+ vcpkg_list(APPEND options "--disable-nls")
+endif()
+
+vcpkg_configure_make(
+ SOURCE_PATH "${SOURCE_PATH}"
+ AUTOCONFIG
+ OPTIONS
+ ${options}
+ --enable-internal-docs=no
+ --enable-ship-binaries=no
+)
+
+vcpkg_install_make()
+vcpkg_fixup_pkgconfig()
+
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/unofficial-libexif-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/libexif/unofficial-libexif-config.cmake b/vcpkg/ports/libexif/unofficial-libexif-config.cmake
new file mode 100644
index 0000000..f446bdd
--- /dev/null
+++ b/vcpkg/ports/libexif/unofficial-libexif-config.cmake
@@ -0,0 +1,30 @@
+
+if(NOT TARGET unofficial::libexif::libexif)
+ add_library(unofficial::libexif::libexif UNKNOWN IMPORTED)
+ get_filename_component(z_vcpkg_LIBEXIF_root "${CMAKE_CURRENT_LIST_FILE}" PATH)
+ get_filename_component(z_vcpkg_LIBEXIF_ROOT "${z_vcpkg_LIBEXIF_root}" PATH)
+ get_filename_component(z_VCPKG_LIBEXIF_ROOT "${z_vcpkg_LIBEXIF_ROOT}" PATH)
+ set_target_properties(unofficial::libexif::libexif PROPERTIES
+ INTERFACE_INCLUDE_DIRECTORIES "${z_VCPKG_LIBEXIF_ROOT}/include"
+ )
+ find_library(Z_VCPKG_LIBEXIF_LIBRARY_RELEASE NAMES exif PATHS "${z_VCPKG_LIBEXIF_ROOT}/lib" NO_DEFAULT_PATH REQUIRED)
+ find_library(Z_VCPKG_LIBEXIF_LIBRARY_DEBUG NAMES exif PATHS "${z_VCPKG_LIBEXIF_ROOT}/debug/lib" NO_DEFAULT_PATH)
+
+ if(EXISTS "${Z_VCPKG_LIBEXIF_LIBRARY_RELEASE}")
+ set_property(TARGET unofficial::libexif::libexif APPEND PROPERTY IMPORTED_CONFIGURATIONS "Release")
+ set_target_properties(unofficial::libexif::libexif PROPERTIES
+ IMPORTED_LOCATION_RELEASE "${Z_VCPKG_LIBEXIF_LIBRARY_RELEASE}"
+ )
+ endif()
+
+ if(EXISTS "${Z_VCPKG_LIBEXIF_LIBRARY_DEBUG}")
+ set_property(TARGET unofficial::libexif::libexif APPEND PROPERTY IMPORTED_CONFIGURATIONS "Debug")
+ set_target_properties(unofficial::libexif::libexif PROPERTIES
+ IMPORTED_LOCATION_DEBUG "${Z_VCPKG_LIBEXIF_LIBRARY_DEBUG}"
+ )
+ endif()
+
+ unset(z_vcpkg_LIBEXIF_root)
+ unset(z_vcpkg_LIBEXIF_ROOT)
+ unset(z_VCPKG_LIBEXIF_ROOT)
+endif()
diff --git a/vcpkg/ports/libexif/vcpkg.json b/vcpkg/ports/libexif/vcpkg.json
new file mode 100644
index 0000000..80917de
--- /dev/null
+++ b/vcpkg/ports/libexif/vcpkg.json
@@ -0,0 +1,34 @@
+{
+ "name": "libexif",
+ "version": "0.6.25",
+ "description": "a library for parsing, editing, and saving EXIF data",
+ "homepage": "https://libexif.github.io/",
+ "license": "LGPL-2.1-or-later",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "$comment": "Needs gettext m4 files and autopoint during autoreconf. No runtime dependency.",
+ "name": "gettext",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ],
+ "features": {
+ "nls": {
+ "description": "Enable native language support.",
+ "dependencies": [
+ {
+ "name": "gettext",
+ "host": true,
+ "features": [
+ "tools"
+ ]
+ },
+ "gettext-libintl"
+ ]
+ }
+ }
+}