diff -up libkdcraw-4.10.5/CMakeLists.txt.using-system-libraw libkdcraw-4.10.5/CMakeLists.txt --- libkdcraw-4.10.5/CMakeLists.txt.using-system-libraw 2013-06-28 19:36:41.947766793 +0200 +++ libkdcraw-4.10.5/CMakeLists.txt 2018-04-18 17:06:45.478621145 +0200 @@ -29,15 +29,22 @@ SET(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SO MESSAGE(STATUS "----------------------------------------------------------------------------------") MESSAGE(STATUS "Starting CMake configuration for: libkdcraw") -OPTION(ENABLE_LCMS2 "Link libraw to LCMS2 else LCMS1 (default=OFF)" OFF) -OPTION(ENABLE_RAWSPEED "Compile libraw with RawSpeed codec (default=OFF)" OFF) - FIND_PACKAGE(KDE4 REQUIRED) INCLUDE(KDE4Defaults) INCLUDE(MacroLibrary) INCLUDE(MacroOptionalAddSubdirectory) INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE(LibRaw 0.14 REQUIRED) + +#Check LibRaw Major and Minor version to rules compilation. +MACRO_ENSURE_VERSION("0.16.0" "${LibRaw_VERSION_STRING}" VERSION_LIBRAW_WITH_CMAKE_SUPPORT) +MESSAGE(STATUS "LibRaw version: ${LibRaw_VERSION_STRING} - has config file: ${VERSION_LIBRAW_WITH_CMAKE_SUPPORT}") + +IF(VERSION_LIBRAW_WITH_CMAKE_SUPPORT) + ADD_DEFINITIONS(-DLIBRAW_HAS_CONFIG) +ENDIF() + ADD_DEFINITIONS (${QT_DEFINITIONS} ${QT_QTDBUS_DEFINITIONS} ${KDE4_DEFINITIONS}) INCLUDE_DIRECTORIES (${QDBUS_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${KDE4_INCLUDES}) @@ -106,7 +113,6 @@ ENDIF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C # ================================================================================================== -ADD_SUBDIRECTORY(libraw) ADD_SUBDIRECTORY(libkdcraw) ADD_SUBDIRECTORY(test) ADD_SUBDIRECTORY(icons) diff -up libkdcraw-4.10.5/cmake/modules/FindLibRaw.cmake.using-system-libraw libkdcraw-4.10.5/cmake/modules/FindLibRaw.cmake --- libkdcraw-4.10.5/cmake/modules/FindLibRaw.cmake.using-system-libraw 2018-04-18 16:57:12.966314267 +0200 +++ libkdcraw-4.10.5/cmake/modules/FindLibRaw.cmake 2018-04-18 17:08:34.597629174 +0200 @@ -0,0 +1,79 @@ +# - Find LibRaw +# Find the LibRaw library +# This module defines +# LibRaw_VERSION_STRING, the version string of LibRaw +# LibRaw_INCLUDE_DIR, where to find libraw.h +# LibRaw_LIBRARIES, the libraries needed to use LibRaw (non-thread-safe) +# LibRaw_r_LIBRARIES, the libraries needed to use LibRaw (thread-safe) +# LibRaw_DEFINITIONS, the definitions needed to use LibRaw (non-thread-safe) +# LibRaw_r_DEFINITIONS, the definitions needed to use LibRaw (thread-safe) +# +# Copyright (c) 2013, Pino Toscano +# Copyright (c) 2013, Gilles Caulier +# +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +FIND_PACKAGE(PkgConfig) + +IF(PKG_CONFIG_FOUND) + PKG_CHECK_MODULES(PC_LIBRAW libraw) + SET(LibRaw_DEFINITIONS ${PC_LIBRAW_CFLAGS_OTHER}) + + PKG_CHECK_MODULES(PC_LIBRAW_R libraw_r) + SET(LibRaw_r_DEFINITIONS ${PC_LIBRAW_R_CFLAGS_OTHER}) +ENDIF() + +FIND_PATH(LibRaw_INCLUDE_DIR libraw.h + HINTS + ${PC_LIBRAW_INCLUDEDIR} + ${PC_LibRaw_INCLUDE_DIRS} + PATH_SUFFIXES libraw + ) + +FIND_LIBRARY(LibRaw_LIBRARIES NAMES raw + HINTS + ${PC_LIBRAW_LIBDIR} + ${PC_LIBRAW_LIBRARY_DIRS} + ) + +FIND_LIBRARY(LibRaw_r_LIBRARIES NAMES raw_r + HINTS + ${PC_LIBRAW_R_LIBDIR} + ${PC_LIBRAW_R_LIBRARY_DIRS} + ) + +IF(LibRaw_INCLUDE_DIR) + FILE(READ ${LibRaw_INCLUDE_DIR}/libraw_version.h _libraw_version_content) + + STRING(REGEX MATCH "#define LIBRAW_MAJOR_VERSION[ \t]*([0-9]*)\n" _version_major_match ${_libraw_version_content}) + SET(_libraw_version_major "${CMAKE_MATCH_1}") + + STRING(REGEX MATCH "#define LIBRAW_MINOR_VERSION[ \t]*([0-9]*)\n" _version_minor_match ${_libraw_version_content}) + SET(_libraw_version_minor "${CMAKE_MATCH_1}") + + STRING(REGEX MATCH "#define LIBRAW_PATCH_VERSION[ \t]*([0-9]*)\n" _version_patch_match ${_libraw_version_content}) + SET(_libraw_version_patch "${CMAKE_MATCH_1}") + + IF(_version_major_match AND _version_minor_match AND _version_patch_match) + SET(LibRaw_VERSION_STRING "${_libraw_version_major}.${_libraw_version_minor}.${_libraw_version_patch}") + ELSE() + IF(NOT LibRaw_FIND_QUIETLY) + MESSAGE(STATUS "Failed to get version information from ${LibRaw_INCLUDE_DIR}/libraw_version.h") + ENDIF() + ENDIF() +ENDIF() + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibRaw + REQUIRED_VARS LibRaw_LIBRARIES LibRaw_INCLUDE_DIR + VERSION_VAR LibRaw_VERSION_STRING + ) + +MARK_AS_ADVANCED(LibRaw_VERSION_STRING + LibRaw_INCLUDE_DIR + LibRaw_LIBRARIES + LibRaw_r_LIBRARIES + LibRaw_DEFINITIONS + LibRaw_r_DEFINITIONS + ) diff -up libkdcraw-4.10.5/libkdcraw/CMakeLists.txt.using-system-libraw libkdcraw-4.10.5/libkdcraw/CMakeLists.txt --- libkdcraw-4.10.5/libkdcraw/CMakeLists.txt.using-system-libraw 2013-06-28 19:36:41.947766793 +0200 +++ libkdcraw-4.10.5/libkdcraw/CMakeLists.txt 2018-04-18 17:04:31.919279255 +0200 @@ -22,7 +22,27 @@ # # ============================================================ -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../libraw) +# In some versions LibRaw is not linked against OpenMP stuff, +# so manually link libkdcraw against it for now. + +IF(NOT APPLE) + # OpenMP library detection (requires CMake >= 2.6.3) + # NOTE: OpenMP under MacOSX do not support multithreading. + + MACRO_OPTIONAL_FIND_PACKAGE(OpenMP) + + IF(OPENMP_FOUND) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + IF("${OpenMP_CXX_FLAGS}" STREQUAL "-fopenmp") + SET(OPENMP_LDFLAGS "-lgomp") + ENDIF("${OpenMP_CXX_FLAGS}" STREQUAL "-fopenmp") + IF("${OpenMP_CXX_FLAGS}" STREQUAL "-xopenmp") + SET(OPENMP_LDFLAGS "-xopenmp") + ENDIF("${OpenMP_CXX_FLAGS}" STREQUAL "-xopenmp") + ENDIF(OPENMP_FOUND) +ENDIF(NOT APPLE) + +INCLUDE_DIRECTORIES(${LibRaw_INCLUDE_DIR}) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/version.h) @@ -42,15 +62,15 @@ SET(kdcraw_LIB_SRCS kdcraw.cpp KDE4_ADD_LIBRARY(kdcraw SHARED ${kdcraw_LIB_SRCS}) TARGET_LINK_LIBRARIES(kdcraw - libraw + ${LibRaw_LIBRARIES} ${KDE4_KDEUI_LIBS} ${KDE4_KIO_LIBS} ${KDE4_SOLID_LIBS} ${KDE4_THREADWEAVER_LIBRARIES} + ${OPENMP_LDFLAGS} ) -SET_TARGET_PROPERTIES(kdcraw PROPERTIES VERSION ${DCRAW_LIB_SO_VERSION_STRING} SOVERSION ${DCRAW_LIB_SO_CUR_VERSION} - DEFINE_SYMBOL LIBRAW_BUILDLIB) +SET_TARGET_PROPERTIES(kdcraw PROPERTIES VERSION ${DCRAW_LIB_SO_VERSION_STRING} SOVERSION ${DCRAW_LIB_SO_CUR_VERSION}) INSTALL(TARGETS kdcraw ${INSTALL_TARGETS_DEFAULT_ARGS}) diff -up libkdcraw-4.10.5/libkdcraw/libkdcraw_export.h.using-system-libraw libkdcraw-4.10.5/libkdcraw/libkdcraw_export.h --- libkdcraw-4.10.5/libkdcraw/libkdcraw_export.h.using-system-libraw 2013-06-28 19:36:41.915766633 +0200 +++ libkdcraw-4.10.5/libkdcraw/libkdcraw_export.h 2018-04-18 16:57:12.967314240 +0200 @@ -31,7 +31,7 @@ #include #ifndef LIBKDCRAW_EXPORT -# if defined(LIBRAW_BUILDLIB) +# if defined(MAKE_KDCRAW_LIB) /* We are building this library */ # define LIBKDCRAW_EXPORT KDE_EXPORT # else diff -up libkdcraw-4.10.5/libkdcraw/dcrawsettingswidget.cpp.orig libkdcraw-4.10.5/libkdcraw/dcrawsettingswidget.cpp --- libkdcraw-4.10.5/libkdcraw/dcrawsettingswidget.cpp.orig 2018-04-24 11:29:13.968446472 +0200 +++ libkdcraw-4.10.5/libkdcraw/dcrawsettingswidget.cpp 2018-04-24 11:29:53.254558248 +0200 @@ -1227,6 +1227,7 @@ RawDecodingSettings DcrawSettingsWidget: { prm.NRThreshold = d->NRSpinBox1->value(); prm.NRChroThreshold = 0; + break; } default: // IMPULSENR { diff -up libkdcraw-4.10.5/libraw/src/libraw_cxx.cpp.orig libkdcraw-4.10.5/libraw/src/libraw_cxx.cpp