File Update-FindExiv2.cmake.patch of Package kdelibs4

diff -ur a/cmake/modules/FindExiv2.cmake b/cmake/modules/FindExiv2.cmake
--- a/cmake/modules/FindExiv2.cmake	2013-02-05 22:34:52.000000000 +0100
+++ b/cmake/modules/FindExiv2.cmake	2019-01-29 07:56:20.441068388 +0100
@@ -57,15 +57,20 @@
 
 # Get the version number from exiv2/version.hpp and store it in the cache:
 if(EXIV2_INCLUDE_DIR  AND NOT  EXIV2_VERSION)
-  file(READ ${EXIV2_INCLUDE_DIR}/exiv2/version.hpp EXIV2_VERSION_CONTENT)
-  string(REGEX MATCH "#define EXIV2_MAJOR_VERSION +\\( *([0-9]+) *\\)"  _dummy "${EXIV2_VERSION_CONTENT}")
-  set(EXIV2_VERSION_MAJOR "${CMAKE_MATCH_1}")
-
-  string(REGEX MATCH "#define EXIV2_MINOR_VERSION +\\( *([0-9]+) *\\)"  _dummy "${EXIV2_VERSION_CONTENT}")
-  set(EXIV2_VERSION_MINOR "${CMAKE_MATCH_1}")
-
-  string(REGEX MATCH "#define EXIV2_PATCH_VERSION +\\( *([0-9]+) *\\)"  _dummy "${EXIV2_VERSION_CONTENT}")
-  set(EXIV2_VERSION_PATCH "${CMAKE_MATCH_1}")
+  # With exiv >= 0.27, the version #defines are in exv_conf.h instead of version.hpp
+  foreach(_exiv2_version_file "version.hpp" "exv_conf.h")
+    if(EXISTS "${EXIV2_INCLUDE_DIR}/exiv2/${_exiv2_version_file}")
+      file(READ "${EXIV2_INCLUDE_DIR}/exiv2/${_exiv2_version_file}" _exiv_version_file_content)
+      string(REGEX MATCH "#define EXIV2_MAJOR_VERSION[ ]+\\([0-9]+\\)" EXIV2_MAJOR_VERSION_MATCH ${_exiv_version_file_content})
+      string(REGEX MATCH "#define EXIV2_MINOR_VERSION[ ]+\\([0-9]+\\)" EXIV2_MINOR_VERSION_MATCH ${_exiv_version_file_content})
+      string(REGEX MATCH "#define EXIV2_PATCH_VERSION[ ]+\\([0-9]+\\)" EXIV2_PATCH_VERSION_MATCH ${_exiv_version_file_content})
+      if(EXIV2_MAJOR_VERSION_MATCH)
+        string(REGEX REPLACE ".*_MAJOR_VERSION[ ]+\\((.*)\\)" "\\1" EXIV2_VERSION_MAJOR ${EXIV2_MAJOR_VERSION_MATCH})
+        string(REGEX REPLACE ".*_MINOR_VERSION[ ]+\\((.*)\\)" "\\1" EXIV2_VERSION_MINOR ${EXIV2_MINOR_VERSION_MATCH})
+        string(REGEX REPLACE ".*_PATCH_VERSION[ ]+\\((.*)\\)" "\\1" EXIV2_VERSION_PATCH ${EXIV2_PATCH_VERSION_MATCH})
+      endif()
+    endif()
+  endforeach()
 
   set(EXIV2_VERSION "${EXIV2_VERSION_MAJOR}.${EXIV2_VERSION_MINOR}.${EXIV2_VERSION_PATCH}" CACHE STRING "Version number of Exiv2" FORCE)
 endif(EXIV2_INCLUDE_DIR  AND NOT  EXIV2_VERSION)
openSUSE Build Service is sponsored by