OpenMiInk/third_party/krita-deps-management/ext_exiv2/CMakeLists.txt
Hellings b8c8ff98e2 Hi
2026-10-16 09:05:56 -04:00

54 lines
2.4 KiB
CMake

# Note: We explicitly set CMAKE_CXX_STANDARD=14 when compiling exiv2 because
# it uses `auto_ptr`, which has been removed in c++17. Clang 16 switches to
# using -std=c++17 by default, and that causes build failures with libc++.
# FIXME: Remove this setting when exiv2 has been updated to remove usage of
# `auto_ptr`, and also remove the workaround in `FindLibExiv2.cmake`.
cmake_minimum_required(VERSION 3.29)
project(ext_exiv2)
include(${CMAKE_SOURCE_DIR}/../cmake/base-dep-options.cmake)
if (ANDROID)
ExternalProject_Add(
ext_exiv2
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.8.tar.gz
URL_HASH SHA256=ea51b0609f58a9afa063b60daa1539948b62247721e154f4fff0ad3aec9f9756
CMAKE_ARGS -DCMAKE_CXX_STANDARD=14 -DCMAKE_INSTALL_PREFIX=${EXTPREFIX} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DEXIV2_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_NLS=OFF -DEXPAT_LIBRARY=${EXTPREFIX}/lib/libexpat.so -DEXPAT_INCLUDE_DIR=${EXTPREFIX}/include -DEXIV2_BUILD_EXIV2_COMMAND=OFF -DEXIV2_ENABLE_INIH=OFF
UPDATE_COMMAND ""
)
elseif(WIN32)
ExternalProject_Add(
ext_exiv2
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.8.tar.gz
URL_HASH SHA256=ea51b0609f58a9afa063b60daa1539948b62247721e154f4fff0ad3aec9f9756
CMAKE_ARGS -DCMAKE_CXX_STANDARD=14 -DCMAKE_INSTALL_PREFIX=${EXTPREFIX} -DCMAKE_LIBRARY_PATH=${EXTPREFIX}/lib -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DEXIV2_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_NLS=OFF -DEXIV2_BUILD_EXIV2_COMMAND=OFF -DEXIV2_ENABLE_INIH=OFF
UPDATE_COMMAND ""
)
else()
ExternalProject_Add(
ext_exiv2
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL https://github.com/Exiv2/exiv2/archive/refs/tags/v0.28.8.tar.gz
URL_HASH SHA256=ea51b0609f58a9afa063b60daa1539948b62247721e154f4fff0ad3aec9f9756
CMAKE_ARGS -DCMAKE_CXX_STANDARD=14 -DCMAKE_INSTALL_PREFIX=${EXTPREFIX} -DCMAKE_LIBRARY_PATH=${EXTPREFIX}/lib
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DEXIV2_BUILD_SAMPLES=OFF
-DEXIV2_ENABLE_NLS=OFF -DEXIV2_BUILD_EXIV2_COMMAND=OFF -DCMAKE_CXX_FLAGS=-Wno-deprecated -DEXIV2_ENABLE_INIH=OFF
-DEXIV2_BUILD_UNIT_TESTS=OFF -DEXIV2_BUILD_FUZZ_TESTS=OFF
UPDATE_COMMAND ""
)
endif()
krita_add_to_ci_targets(ext_exiv2)