54 lines
2.4 KiB
CMake
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)
|