From e113942454e6b829366af7bcf196bbdbccbd6b3c Mon Sep 17 00:00:00 2001 From: PolarGoose <35307286+PolarGoose@users.noreply.github.com> Date: Tue, 8 Apr 2025 00:09:03 +0200 Subject: [PATCH] [cpp-exiftool] Add version 1.8.0 (#44860) --- ports/cpp-exiftool/CMakeLists.txt | 21 +++++++++++++++++++++ ports/cpp-exiftool/portfile.cmake | 14 ++++++++++++++ ports/cpp-exiftool/vcpkg.json | 18 ++++++++++++++++++ versions/baseline.json | 4 ++++ versions/c-/cpp-exiftool.json | 9 +++++++++ 5 files changed, 66 insertions(+) create mode 100644 ports/cpp-exiftool/CMakeLists.txt create mode 100644 ports/cpp-exiftool/portfile.cmake create mode 100644 ports/cpp-exiftool/vcpkg.json create mode 100644 versions/c-/cpp-exiftool.json diff --git a/ports/cpp-exiftool/CMakeLists.txt b/ports/cpp-exiftool/CMakeLists.txt new file mode 100644 index 0000000000..491baef2c9 --- /dev/null +++ b/ports/cpp-exiftool/CMakeLists.txt @@ -0,0 +1,21 @@ +cmake_minimum_required(VERSION 3.21) +project(cpp-exiftool LANGUAGES CXX) + +file(GLOB src_files "${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp") +file(GLOB public_headers "${CMAKE_CURRENT_SOURCE_DIR}/inc/*.h") +add_library(cpp-exiftool ${src_files}) +target_include_directories(cpp-exiftool + PUBLIC + "$" + "$") +set_target_properties(cpp-exiftool PROPERTIES PUBLIC_HEADER "${public_headers}") + +install(TARGETS cpp-exiftool + EXPORT cpp-exiftool-targets + LIBRARY DESTINATION lib + PUBLIC_HEADER DESTINATION include/cpp-exiftool) + +install(EXPORT cpp-exiftool-targets + FILE unofficial-cpp-exiftool-config.cmake + DESTINATION share/unofficial-cpp-exiftool + NAMESPACE unofficial::cpp-exiftool::) diff --git a/ports/cpp-exiftool/portfile.cmake b/ports/cpp-exiftool/portfile.cmake new file mode 100644 index 0000000000..4ca5b24a6b --- /dev/null +++ b/ports/cpp-exiftool/portfile.cmake @@ -0,0 +1,14 @@ +vcpkg_download_distfile( + ARCHIVE + URLS "https://exiftool.org/cpp_exiftool/cpp_exiftool.tar.gz" + FILENAME "cpp_exiftool-${VERSION}.tar.gz" + SHA512 d362e622deeb2a04aa6d694e0c8ffabf610af30cb30c29430811e77b0faa86177fe3409ec228ead9af998a99eb6d3ffa601652c6128a96f20eb60a03e0f64292 +) +vcpkg_extract_source_archive(SOURCE_PATH ARCHIVE "${ARCHIVE}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}") +vcpkg_cmake_install() +vcpkg_copy_pdbs() +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-cpp-exiftool) +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/README") diff --git a/ports/cpp-exiftool/vcpkg.json b/ports/cpp-exiftool/vcpkg.json new file mode 100644 index 0000000000..24676ca195 --- /dev/null +++ b/ports/cpp-exiftool/vcpkg.json @@ -0,0 +1,18 @@ +{ + "name": "cpp-exiftool", + "version": "1.8.0", + "description": "The C++ interface for exiftool provides the source code for a set of objects that allow C++ applications to easily leverage the full power of the exiftool application through a simple interface. This interface handles all the hard work of launching, monitoring, controlling, and communicating with an external exiftool process.", + "homepage": "https://exiftool.org/cpp_exiftool/", + "license": null, + "supports": "linux", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} diff --git a/versions/baseline.json b/versions/baseline.json index 6a8f4c83c6..318bbde7a8 100644 --- a/versions/baseline.json +++ b/versions/baseline.json @@ -1912,6 +1912,10 @@ "baseline": "V2.rc.08", "port-version": 0 }, + "cpp-exiftool": { + "baseline": "1.8.0", + "port-version": 0 + }, "cpp-httplib": { "baseline": "0.20.0", "port-version": 1 diff --git a/versions/c-/cpp-exiftool.json b/versions/c-/cpp-exiftool.json new file mode 100644 index 0000000000..3e4171a888 --- /dev/null +++ b/versions/c-/cpp-exiftool.json @@ -0,0 +1,9 @@ +{ + "versions": [ + { + "git-tree": "c5d61c5f3b1c617ea7a1a7924fadd5acf9df6d64", + "version": "1.8.0", + "port-version": 0 + } + ] +}