# 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)