digikam: revbump for exiv2-0.28.1.

This commit is contained in:
Mohammed Anas 2023-10-18 19:18:38 +01:00 committed by classabbyamp
parent bffcd17078
commit 895a4bac35
2 changed files with 423 additions and 1 deletions

View File

@ -0,0 +1,422 @@
From a76a561b20e7300510b29edc97afab01e381c0ec Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Wed, 8 Nov 2023 23:13:26 +0100
Subject: [PATCH 1/5] fix compile with Exiv2-0.28.1 It should still compile
even with smaller Exiv2 versions.
---
core/CMakeLists.txt | 4 ++--
core/app/DigikamCoreTarget.cmake | 2 +-
core/cmake/rules/RulesLibExiv2.cmake | 8 ++++----
core/libs/metadataengine/CMakeLists.txt | 4 ++--
4 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index c694c4b176..d5dc2f0dd8 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -255,7 +255,7 @@ PRINT_COMPONENT_COMPILE_STATUS("Media Player Support" ENAB
# ==============================================================================
PRINT_LIBRARY_STATUS("libboostgraph" "https://github.com/boostorg/boost" "(version >= 1.43.0)" Boost_FOUND)
-PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" exiv2_FOUND)
+PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" LibExiv2_FOUND)
PRINT_LIBRARY_STATUS("libexpat" "https://libexpat.github.io" "(version >= 2.0.0)" EXPAT_FOUND)
PRINT_LIBRARY_STATUS("libjpeg" "https://github.com/libjpeg-turbo/libjpeg-turbo" "(version >= 6b)" JPEG_FOUND)
PRINT_LIBRARY_STATUS("libkde" "https://invent.kde.org/frameworks/" "(version >= ${KF5_MIN_VERSION})" KF5_FOUND)
@@ -306,7 +306,7 @@ endif()
# ==============================================================================
if(Boost_FOUND AND
- exiv2_FOUND AND
+ LibExiv2_FOUND AND
EXPAT_FOUND AND
JPEG_FOUND AND
KF5_FOUND AND
diff --git a/core/app/DigikamCoreTarget.cmake b/core/app/DigikamCoreTarget.cmake
index 83fda1b35f..8221a2d632 100644
--- a/core/app/DigikamCoreTarget.cmake
+++ b/core/app/DigikamCoreTarget.cmake
@@ -151,7 +151,7 @@ target_link_libraries(digikamcore
${TIFF_LIBRARIES}
PNG::PNG
${JPEG_LIBRARIES}
- exiv2lib
+ ${LibExiv2_LIBRARIES}
${OPENMP_LDFLAGS}
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
index c8b37d307c..a8ca259432 100644
--- a/core/cmake/rules/RulesLibExiv2.cmake
+++ b/core/cmake/rules/RulesLibExiv2.cmake
@@ -4,7 +4,7 @@
# SPDX-License-Identifier: BSD-3-Clause
#
-find_package(exiv2 REQUIRED)
+find_package(LibExiv2 REQUIRED)
set_package_properties("exiv2" PROPERTIES
DESCRIPTION "Required to build digiKam"
@@ -13,13 +13,13 @@ set_package_properties("exiv2" PROPERTIES
PURPOSE "Library to manage image metadata"
)
-if("${exiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
+if("${LibExiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
- message(FATAL_ERROR "Exiv2 version is too old (${exiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
+ message(FATAL_ERROR "Exiv2 version is too old (${LibExiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
endif()
-if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
+if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
set(EXIV2_CXX_STANDARD 11)
diff --git a/core/libs/metadataengine/CMakeLists.txt b/core/libs/metadataengine/CMakeLists.txt
index 47aa889d5e..bd4dba0bbd 100644
--- a/core/libs/metadataengine/CMakeLists.txt
+++ b/core/libs/metadataengine/CMakeLists.txt
@@ -18,7 +18,7 @@ endif()
# Exiv2 version < 0.28 use auto_ptr instead unique_ptr which is deprecated.
-if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
+if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
DISABLE_GCC_COMPILER_WARNINGS("5.99.99" "-Wno-deprecated")
@@ -112,7 +112,7 @@ include_directories(
$<TARGET_PROPERTY:KF5::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:KF5::I18n,INTERFACE_INCLUDE_DIRECTORIES>
- $<TARGET_PROPERTY:exiv2lib,INTERFACE_INCLUDE_DIRECTORIES>
+ $<TARGET_PROPERTY:LibExiv2_INCLUDE_DIRS>
)
# Used by digikamcore
--
2.42.0
From ee487a753a652c588b88fa18aeb885105c17368d Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Thu, 9 Nov 2023 18:49:18 +0100
Subject: [PATCH 2/5] recognize both Exiv2 CMake variants
---
core/CMakeLists.txt | 14 ++++++--
core/app/DigikamCoreTarget.cmake | 17 ++++++++-
core/cmake/rules/RulesLibExiv2.cmake | 46 +++++++++++++++++++++----
core/libs/metadataengine/CMakeLists.txt | 12 +++++--
4 files changed, 77 insertions(+), 12 deletions(-)
diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
index d5dc2f0dd8..855fdcf185 100644
--- a/core/CMakeLists.txt
+++ b/core/CMakeLists.txt
@@ -255,7 +255,17 @@ PRINT_COMPONENT_COMPILE_STATUS("Media Player Support" ENAB
# ==============================================================================
PRINT_LIBRARY_STATUS("libboostgraph" "https://github.com/boostorg/boost" "(version >= 1.43.0)" Boost_FOUND)
-PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" LibExiv2_FOUND)
+
+if(LibExiv2_FOUND)
+
+ PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" LibExiv2_FOUND)
+
+else()
+
+ PRINT_LIBRARY_STATUS("libexiv2" "https://github.com/Exiv2/exiv2" "(version >= ${EXIV2_MIN_VERSION}" exiv2_FOUND)
+
+endif()
+
PRINT_LIBRARY_STATUS("libexpat" "https://libexpat.github.io" "(version >= 2.0.0)" EXPAT_FOUND)
PRINT_LIBRARY_STATUS("libjpeg" "https://github.com/libjpeg-turbo/libjpeg-turbo" "(version >= 6b)" JPEG_FOUND)
PRINT_LIBRARY_STATUS("libkde" "https://invent.kde.org/frameworks/" "(version >= ${KF5_MIN_VERSION})" KF5_FOUND)
@@ -306,7 +316,7 @@ endif()
# ==============================================================================
if(Boost_FOUND AND
- LibExiv2_FOUND AND
+ (LibExiv2_FOUND OR exiv2_FOUND) AND
EXPAT_FOUND AND
JPEG_FOUND AND
KF5_FOUND AND
diff --git a/core/app/DigikamCoreTarget.cmake b/core/app/DigikamCoreTarget.cmake
index 8221a2d632..80bd153caa 100644
--- a/core/app/DigikamCoreTarget.cmake
+++ b/core/app/DigikamCoreTarget.cmake
@@ -151,7 +151,6 @@ target_link_libraries(digikamcore
${TIFF_LIBRARIES}
PNG::PNG
${JPEG_LIBRARIES}
- ${LibExiv2_LIBRARIES}
${OPENMP_LDFLAGS}
@@ -164,6 +163,22 @@ target_link_libraries(digikamcore
opencv_flann
)
+if(LibExiv2_FOUND)
+
+ target_link_libraries(digikamcore
+ PRIVATE
+ ${LibExiv2_LIBRARIES}
+ )
+
+else()
+
+ target_link_libraries(digikamcore
+ PRIVATE
+ exiv2lib
+ )
+
+endif()
+
if(Qt6_FOUND)
target_link_libraries(digikamcore
PRIVATE
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
index a8ca259432..e568644ca4 100644
--- a/core/cmake/rules/RulesLibExiv2.cmake
+++ b/core/cmake/rules/RulesLibExiv2.cmake
@@ -4,7 +4,17 @@
# SPDX-License-Identifier: BSD-3-Clause
#
-find_package(LibExiv2 REQUIRED)
+find_package(LibExiv2 OPTIONAL_COMPONENTS)
+
+if(LibExiv2_FOUND)
+
+ find_package(LibExiv2 REQUIRED)
+
+else()
+
+ find_package(exiv2 REQUIRED)
+
+endif()
set_package_properties("exiv2" PROPERTIES
DESCRIPTION "Required to build digiKam"
@@ -13,18 +23,40 @@ set_package_properties("exiv2" PROPERTIES
PURPOSE "Library to manage image metadata"
)
-if("${LibExiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
+if(LibExiv2_FOUND)
- message(FATAL_ERROR "Exiv2 version is too old (${LibExiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
+ if("${LibExiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
-endif()
+ message(FATAL_ERROR "Exiv2 version is too old (${LibExiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
+
+ endif()
+
+ if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
-if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
+ set(EXIV2_CXX_STANDARD 11)
- set(EXIV2_CXX_STANDARD 11)
+ else()
+
+ set(EXIV2_CXX_STANDARD 17)
+
+ endif()
else()
- set(EXIV2_CXX_STANDARD 17)
+ if("${exiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
+
+ message(FATAL_ERROR "Exiv2 version is too old (${exiv2_VERSION})! Minimal version required:${EXIV2_MIN_VERSION}.")
+
+ endif()
+
+ if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
+
+ set(EXIV2_CXX_STANDARD 11)
+
+ else()
+
+ set(EXIV2_CXX_STANDARD 17)
+
+ endif()
endif()
diff --git a/core/libs/metadataengine/CMakeLists.txt b/core/libs/metadataengine/CMakeLists.txt
index bd4dba0bbd..a4124d17e0 100644
--- a/core/libs/metadataengine/CMakeLists.txt
+++ b/core/libs/metadataengine/CMakeLists.txt
@@ -111,10 +111,18 @@ include_directories(
$<TARGET_PROPERTY:KF5::ConfigCore,INTERFACE_INCLUDE_DIRECTORIES>
$<TARGET_PROPERTY:KF5::I18n,INTERFACE_INCLUDE_DIRECTORIES>
-
- $<TARGET_PROPERTY:LibExiv2_INCLUDE_DIRS>
)
+if(LibExiv2_FOUND)
+
+ include_directories($<TARGET_PROPERTY:LibExiv2_INCLUDE_DIRS>)
+
+else()
+
+ include_directories($<TARGET_PROPERTY:exiv2lib,INTERFACE_INCLUDE_DIRECTORIES>)
+
+endif()
+
# Used by digikamcore
add_library(core_dmetadata_obj OBJECT ${libdmetadata_SRCS})
--
2.42.0
From af221dd7700fbf1e6e3b5245184381d2b74ec781 Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Thu, 9 Nov 2023 19:12:44 +0100
Subject: [PATCH 3/5] check version und clear LibExiv2_FOUND
---
core/cmake/rules/RulesLibExiv2.cmake | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
index e568644ca4..de5ea80ec6 100644
--- a/core/cmake/rules/RulesLibExiv2.cmake
+++ b/core/cmake/rules/RulesLibExiv2.cmake
@@ -6,12 +6,13 @@
find_package(LibExiv2 OPTIONAL_COMPONENTS)
-if(LibExiv2_FOUND)
+if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.28.0"))
find_package(LibExiv2 REQUIRED)
else()
+ set (LibExiv2_FOUND FALSE)
find_package(exiv2 REQUIRED)
endif()
--
2.42.0
From fda83a6f7e03e4088f3a5903d036c1425d6303b9 Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Thu, 9 Nov 2023 19:15:41 +0100
Subject: [PATCH 4/5] adjust Exiv2 version
---
core/cmake/rules/RulesLibExiv2.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
index de5ea80ec6..3db233cad2 100644
--- a/core/cmake/rules/RulesLibExiv2.cmake
+++ b/core/cmake/rules/RulesLibExiv2.cmake
@@ -6,7 +6,7 @@
find_package(LibExiv2 OPTIONAL_COMPONENTS)
-if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.28.0"))
+if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.27.99"))
find_package(LibExiv2 REQUIRED)
--
2.42.0
From 921ee9945f8c438f23b83add58d5737b539cd312 Mon Sep 17 00:00:00 2001
From: Maik Qualmann <metzpinguin@gmail.com>
Date: Thu, 9 Nov 2023 21:35:09 +0100
Subject: [PATCH 5/5] set correct exiv2 package name and less duplicate CMake
code
---
core/cmake/rules/RulesLibExiv2.cmake | 34 +++++++++++-----------------
1 file changed, 13 insertions(+), 21 deletions(-)
diff --git a/core/cmake/rules/RulesLibExiv2.cmake b/core/cmake/rules/RulesLibExiv2.cmake
index 3db233cad2..e3e667d946 100644
--- a/core/cmake/rules/RulesLibExiv2.cmake
+++ b/core/cmake/rules/RulesLibExiv2.cmake
@@ -9,19 +9,21 @@ find_package(LibExiv2 OPTIONAL_COMPONENTS)
if(LibExiv2_FOUND AND ("${LibExiv2_VERSION}" VERSION_GREATER "0.27.99"))
find_package(LibExiv2 REQUIRED)
+ set(EXIV2_PACKAGE_NAME "LibExiv2")
else()
- set (LibExiv2_FOUND FALSE)
+ set(LibExiv2_FOUND FALSE)
find_package(exiv2 REQUIRED)
+ set(EXIV2_PACKAGE_NAME "exiv2")
endif()
-set_package_properties("exiv2" PROPERTIES
- DESCRIPTION "Required to build digiKam"
- URL "https://www.exiv2.org"
- TYPE RECOMMENDED
- PURPOSE "Library to manage image metadata"
+set_package_properties(${EXIV2_PACKAGE_NAME} PROPERTIES
+ DESCRIPTION "Required to build digiKam"
+ URL "https://www.exiv2.org"
+ TYPE RECOMMENDED
+ PURPOSE "Library to manage image metadata"
)
if(LibExiv2_FOUND)
@@ -32,16 +34,6 @@ if(LibExiv2_FOUND)
endif()
- if("${LibExiv2_VERSION}" VERSION_LESS "0.27.99")
-
- set(EXIV2_CXX_STANDARD 11)
-
- else()
-
- set(EXIV2_CXX_STANDARD 17)
-
- endif()
-
else()
if("${exiv2_VERSION}" VERSION_LESS ${EXIV2_MIN_VERSION})
@@ -50,14 +42,14 @@ else()
endif()
- if("${exiv2_VERSION}" VERSION_LESS "0.27.99")
+endif()
- set(EXIV2_CXX_STANDARD 11)
+if(("${exiv2_VERSION}" VERSION_GREATER "0.27.99") OR ("${LibExiv2_VERSION}" VERSION_GREATER "0.27.99"))
- else()
+ set(EXIV2_CXX_STANDARD 17)
- set(EXIV2_CXX_STANDARD 17)
+else()
- endif()
+ set(EXIV2_CXX_STANDARD 11)
endif()
--
2.42.0

View File

@ -1,7 +1,7 @@
# Template file for 'digikam'
pkgname=digikam
version=8.1.0
revision=1
revision=2
build_style=cmake
configure_args="-DBUILD_TESTING=OFF"
hostmakedepends="extra-cmake-modules gettext pkg-config bison flex qt5-qmake