diff --git a/CMakeLists.txt b/CMakeLists.txt index 8de7c359f7..35d6038d5e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,636 +1,637 @@ # # Copyright (c) 2010-2017 by Gilles Caulier, # Copyright (c) 2015 by Veaceslav Munteanu, # Copyright (c) 2015 by Mohamed Anwer, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. project(digikam) message(STATUS "----------------------------------------------------------------------------------") message(STATUS "Starting CMake configuration for: ${PROJECT_NAME}") # ============================================================================== # Information to update before to release this package. # digiKam version set(DIGIKAM_MAJOR_VERSION "5") set(DIGIKAM_MINOR_VERSION "7") set(DIGIKAM_PATCH_VERSION "0") # Suffix to add at end of version string. Usual values are: # "-git" : alpha code unstable from git. Do not use in production # "-beta1" : beta1 release. # "-beta2" : beta2 release. # "-beta3" : beta3 release. # "-rc" : release candidate. # "" : final release. Can be used in production. set(DIGIKAM_SUFFIX_VERSION "") # ============================================================================== # Set env. variables accordingly. # NOTE: This string is used to set libdigikamcore and libdigikamdatabase SO version ID set(DIGIKAM_VERSION_SHORT "${DIGIKAM_MAJOR_VERSION}.${DIGIKAM_MINOR_VERSION}.${DIGIKAM_PATCH_VERSION}" ) set(DIGIKAM_VERSION_STRING "${DIGIKAM_VERSION_SHORT}${DIGIKAM_SUFFIX_VERSION}" ) # Core Database XML version # We must set this variable here at top level because it is used in both # libs/database/core and data/database # Version history: # 1 : Original database XML file, published in production. # 2 : 08-08-2014 : Fix Images.names field size (see bug #327646). # 3 : 05/11/2015 : Add Face DB schema. set(DBCORECONFIG_XML_VERSION "3") # ============================================================================== set(CMAKE_MIN_VERSION "3.0.0") set(ECM_MIN_VERSION "1.7.0") set(KF5_MIN_VERSION "5.1.0") set(QT_MIN_VERSION "5.6.0") set(KIPI_MIN_VERSION "5.0.0") set(KSANE_MIN_VERSION "5.0.0") set(LENSFUN_MIN_VERSION "0.2.6.0") set(EXIV2_MIN_VERSION "0.26") set(AKONADI_MIN_VERSION "4.89.0") # Akonadi Contact dependency set(CALENDAR_MIN_VERSION "4.81.0") # Calendar Core dependency set(QTAV_MIN_VERSION "1.12.0") cmake_minimum_required(VERSION ${CMAKE_MIN_VERSION}) ############## ECM setup ###################### find_package(ECM ${ECM_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${digikam_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) # Cmake macros include(GenerateExportHeader) include(CheckFunctionExists) include(FeatureSummary) # ECM macros include(ECMOptionalAddSubdirectory) include(ECMAddTests) include(ECMMarkNonGuiExecutable) include(ECMGenerateHeaders) include(ECMGeneratePriFile) include(ECMPackageConfigHelpers) include(ECMSetupVersion) include(ECMInstallIcons) include(ECMAddAppIcon) include(ECMPoQmTools) # KDE macros include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings) include(KDECompilerSettings) # Local macros include(MacroUtils) include(MacroLocalLibs) include(MacroOpenCV) include(MacroJPEG) include(MacroBoolTo01) # ============================================================================== option(ENABLE_OPENCV3 "Build digiKam with OpenCV3 instead OpenCV2 (default=ON)" ON) option(ENABLE_KFILEMETADATASUPPORT "Build digiKam with KDE files indexer support (default=OFF)" OFF) option(ENABLE_AKONADICONTACTSUPPORT "Build digiKam with KDE Mail Contacts support (default=OFF)" OFF) option(ENABLE_MEDIAPLAYER "Build digiKam with Media Player support (default=OFF)" OFF) option(ENABLE_DBUS "Build digiKam with DBUS support (default=ON)" ON) option(ENABLE_APPSTYLES "Build digiKam with support for changing the widget application style (default=OFF)" OFF) # Mysql support options (experimental): option(ENABLE_MYSQLSUPPORT "Build digiKam with MySQL dabatase support (default=ON)" ON) option(ENABLE_INTERNALMYSQL "Build digiKam with internal MySQL server executable (default=ON)" ON) # Debug options: option(ENABLE_DIGIKAM_MODELTEST "Enable ModelTest on some models for debugging (default=OFF)" OFF) ############## Find Packages ################### find_package(Qt5 ${QT_MIN_VERSION} - REQUIRED NO_MODULE COMPONENTS + NO_MODULE COMPONENTS Core Concurrent Widgets Gui Sql Xml PrintSupport WebKitWidgets Network ) find_package(Qt5 ${QT_MIN_VERSION} OPTIONAL_COMPONENTS DBus OpenGL ) if(ENABLE_DBUS) if(NOT Qt5DBus_FOUND) set(ENABLE_DBUS OFF) endif() endif() if(BUILD_TESTING) - find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS - Test) + find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE COMPONENTS Test) endif() find_package(KF5 ${KF5_MIN_VERSION} - REQUIRED COMPONENTS + COMPONENTS XmlGui CoreAddons Config Service WindowSystem Solid I18n ) find_package(KF5 ${KF5_MIN_VERSION} QUIET OPTIONAL_COMPONENTS KIO # For Desktop integration (Widgets only). IconThemes # For Desktop integration. FileMetaData # For KDE file indexer support. ThreadWeaver # For Panorama tool. NotifyConfig # KDE desktop application notify configuration. Notifications # KDE desktop notifications integration. ) find_package(KF5 ${AKONADI_MIN_VERSION} QUIET OPTIONAL_COMPONENTS AkonadiContact # For KDE Mail Contacts support. ) find_package(KF5 ${CALENDAR_MIN_VERSION} QUIET OPTIONAL_COMPONENTS CalendarCore # For Calendar tool. ) if(ENABLE_AKONADICONTACTSUPPORT AND NOT KF5AkonadiContact_FOUND) set(ENABLE_KFILEMETADATASUPPORT OFF) endif() if(ENABLE_KFILEMETADATASUPPORT AND NOT KF5FileMetaData_FOUND) set(ENABLE_KFILEMETADATASUPPORT OFF) endif() # Check if KIO have been compiled with KIOWidgets. digiKam only needs this one. if(KF5KIO_FOUND) get_target_property(KIOWidgets_INCLUDE_DIRS KF5::KIOWidgets INTERFACE_INCLUDE_DIRECTORIES) message(STATUS "KF5::KIOWidgets include dirs: ${KIOWidgets_INCLUDE_DIRS}") if(NOT KIOWidgets_INCLUDE_DIRS) message(STATUS "KF5::KIOWidgets not available in shared KIO library. KIO support disabled.") set(KF5KIO_FOUND FALSE) endif() endif() # ============================================================================== # Dependencies Rules # mandatory DETECT_JPEG() set(DIGIKAM_LIBJPEG_DIR libjpeg-${JPEG_LIB_VERSION}) -find_package(TIFF REQUIRED) -find_package(PNG REQUIRED) -find_package(Boost REQUIRED) -find_package(LCMS2 REQUIRED) -find_package(EXPAT REQUIRED) # For DNGWriter: XMP SDK need Expat library to compile. -find_package(Threads REQUIRED) # For DNGWriter and LibRaw which needs native threads support. +find_package(TIFF) +find_package(PNG) +find_package(Boost) +find_package(LCMS2) +find_package(EXPAT) # For DNGWriter: XMP SDK need Expat library to compile. +find_package(Threads) # For DNGWriter and LibRaw which needs native threads support. -find_package(Exiv2 ${EXIV2_MIN_VERSION} REQUIRED) +find_package(Exiv2 ${EXIV2_MIN_VERSION}) set_package_properties("Exiv2" PROPERTIES DESCRIPTION "Required to build digiKam" URL "http://www.exiv2.org" TYPE RECOMMENDED PURPOSE "Library to manage image metadata" ) # -- check Media player -------------------------------------------------------- if(ENABLE_MEDIAPLAYER) find_package(QtAV) if(NOT ${QTAV_FOUND} OR ${QTAV_VERSION_STRING} VERSION_LESS ${QTAV_MIN_VERSION}) set(ENABLE_MEDIAPLAYER OFF) set(QTAV_FOUND OFF) message(STATUS "ENABLE_MEDIAPLAYER option is enabled but QtAV cannot be found. Media player support is disabled.") else() include_directories(${QTAV_INCLUDE_DIRS}) message(STATUS "Media player support is enabled.") endif() endif() # -- check OpenCV -------------------------------------------------------------- if(ENABLE_OPENCV3) set(OPENCV_MIN_VERSION "3.1.0") DETECT_OPENCV(${OPENCV_MIN_VERSION} core objdetect imgproc imgcodecs) if(${OpenCV_FOUND}) if(${OpenCV_VERSION} VERSION_LESS 3.1.0) message(STATUS "ENABLE_OPENCV3 option is enabled and OpenCV < 3.1.0 have been found. Disabled ENABLE_OPENCV3") set(OpenCV_FOUND FALSE) endif() endif() else() set(OPENCV_MIN_VERSION "2.4.9") DETECT_OPENCV(${OPENCV_MIN_VERSION} core objdetect imgproc contrib legacy) if(${OpenCV_FOUND}) if(${OpenCV_VERSION} VERSION_GREATER 2.4.99) message(STATUS "ENABLE_OPENCV3 option is disabled and OpenCV >= 3.0.0 have been found. Enabled ENABLE_OPENCV3") set(OpenCV_FOUND FALSE) endif() endif() endif() configure_file(${CMAKE_CURRENT_SOURCE_DIR}/app/utils/libopencv.h.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/app/utils/libopencv.h) # -- optionals ----------------------------------------------------------------- find_package(FLEX) # For Panorama tool. find_package(BISON) # For Panorama tool. find_package(LibXslt) # For HTMLGallery tool. find_package(LibXml2) # For HTMLGallery tool. DETECT_LIBKIPI(${KIPI_MIN_VERSION}) DETECT_LIBKSANE(${KSANE_MIN_VERSION}) find_package(Marble) find_package(PkgConfig) find_package(Jasper) find_package(Eigen3) # For Refocus tool. find_package(OpenGL) # For Presentation tool. # For Monitor Profiles management with LCMS find_package(X11) if(X11_FOUND) - find_package(Qt5 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS - X11Extras - ) + find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE COMPONENTS X11Extras) set(HAVE_X11 TRUE) else() set(HAVE_X11 FALSE) endif() # decide if Presentation tool can be built with OpenGL if(OPENGL_FOUND AND OPENGL_GLU_FOUND AND Qt5OpenGL_FOUND) set(HAVE_OPENGL TRUE) elseif() set(HAVE_OPENGL FALSE) endif() # For LibRaw if(WIN32) find_library(WSOCK32_LIBRARY wsock32) find_library(WS2_32_LIBRARY ws2_32) endif() # -- To link under Solaris (see bug #274484) ----------------------------------- if(NOT WIN32) find_library(MATH_LIBRARY m) endif() if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD) find_library(KVM_LIBRARY kvm) endif() # ============================================================================== # More Optional Dependencies find_package(Doxygen) find_package(Lqr-1) # -- libgphoto2 rules ---------------------------------------------------------- if(NOT WIN32) find_package(Gphoto2) if(GPHOTO2_FOUND) if("${GPHOTO2_VERSION_STRING}" VERSION_GREATER "2.4.0") set(VERSION_GPHOTO2 true) else() set(VERSION_GPHOTO2 false) endif() if("${GPHOTO2_VERSION_STRING}" VERSION_GREATER "2.5.0") set(VERSION_GPHOTO25 true) message(STATUS "libgphoto2 API version >= 2.5") else() set(VERSION_GPHOTO25 false) message(STATUS "libgphoto2 API version < 2.5") endif() if(VERSION_GPHOTO25) set(HAVE_GPHOTO25 1) else() set(HAVE_GPHOTO25 0) endif() endif() endif() # -- Check LensFun library for Lens auto-correction tool ----------------------- find_package(LensFun) if(LENSFUN_VERSION) message(STATUS "liblensfun: Found version ${LENSFUN_VERSION} (required: ${LENSFUN_MIN_VERSION})") if(${LENSFUN_VERSION} VERSION_LESS ${LENSFUN_MIN_VERSION}) set(LENSFUN_FOUND FALSE) endif() else() message(STATUS "liblensfun: Version information not found, your version is probably too old.") set(LENSFUN_FOUND FALSE) endif() # -- Check dependencies for Panorama tool -------------------------------------- if(FLEX_FOUND AND BISON_FOUND AND KF5ThreadWeaver_FOUND) set(HAVE_PANORAMA 1) else() set(HAVE_PANORAMA 0) endif() # -- Check dependencies for HTMLGallery tool ----------------------------------- if(LIBXML2_FOUND AND LIBXSLT_FOUND) set(HAVE_HTMLGALLERY 1) else() set(HAVE_HTMLGALLERY 0) endif() # -- compilation options definitions ------------------------------------------- MACRO_BOOL_TO_01(KF5Kipi_FOUND HAVE_KIPI) MACRO_BOOL_TO_01(KF5Sane_FOUND HAVE_KSANE) MACRO_BOOL_TO_01(KF5FileMetaData_FOUND HAVE_KFILEMETADATA) MACRO_BOOL_TO_01(KF5AkonadiContact_FOUND HAVE_AKONADICONTACT) MACRO_BOOL_TO_01(KF5CalendarCore_FOUND HAVE_KCALENDAR) MACRO_BOOL_TO_01(KF5Notifications_FOUND HAVE_KNOTIFICATIONS) MACRO_BOOL_TO_01(KF5NotifyConfig_FOUND HAVE_KNOTIFYCONFIG) MACRO_BOOL_TO_01(KF5KIO_FOUND HAVE_KIO) MACRO_BOOL_TO_01(KF5IconThemes_FOUND HAVE_KICONTHEMES) MACRO_BOOL_TO_01(LENSFUN_FOUND HAVE_LENSFUN) MACRO_BOOL_TO_01(LQR-1_FOUND HAVE_LIBLQR_1) MACRO_BOOL_TO_01(GPHOTO2_FOUND HAVE_GPHOTO2) MACRO_BOOL_TO_01(JASPER_FOUND HAVE_JASPER) MACRO_BOOL_TO_01(EIGEN3_FOUND HAVE_EIGEN3) MACRO_BOOL_TO_01(MARBLE_FOUND HAVE_MARBLE) MACRO_BOOL_TO_01(ENABLE_MYSQLSUPPORT HAVE_MYSQLSUPPORT) MACRO_BOOL_TO_01(ENABLE_INTERNALMYSQL HAVE_INTERNALMYSQL) MACRO_BOOL_TO_01(ENABLE_MEDIAPLAYER HAVE_MEDIAPLAYER) MACRO_BOOL_TO_01(ENABLE_DBUS HAVE_DBUS) MACRO_BOOL_TO_01(ENABLE_APPSTYLES HAVE_APPSTYLE_SUPPORT) # Whether to use Qt's scaling to downscale previews. Under MacOSX, Qt # can make use of the higher physical resolution of Retina # displays. However, it seems that other Qt renderers perform badly at # this, so disable. If other renderers switch to coarser logical # pixels, one probably needs this feature on these platforms as well. MACRO_BOOL_TO_01(APPLE USE_QT_SCALING) # Set config files accordingly with optional dependencies configure_file(app/utils/digikam_config.h.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/app/utils/digikam_config.h) # ============================================================================== # Log messages message(STATUS "") message(STATUS "----------------------------------------------------------------------------------") message(STATUS " digiKam ${DIGIKAM_VERSION_STRING} dependencies results ") message(STATUS "") PRINT_COMPONENT_COMPILE_STATUS("MySQL Database Support" ENABLE_MYSQLSUPPORT) PRINT_COMPONENT_COMPILE_STATUS("MySQL Internal Support" ENABLE_INTERNALMYSQL) PRINT_COMPONENT_COMPILE_STATUS("DBUS Support" ENABLE_DBUS) PRINT_COMPONENT_COMPILE_STATUS("App. Style Support" ENABLE_APPSTYLES) # ============================================================================== PRINT_LIBRARY_STATUS("libboostgraph" "http://www.boost.org/doc/libs" "(version >= 1.43.0)" Boost_FOUND) +PRINT_LIBRARY_STATUS("libexiv2" "http://www.exiv2.org" "(version >= ${EXIV2_MIN_VERSION}" EXIV2_FOUND) PRINT_LIBRARY_STATUS("libexpat" "http://expat.sourceforge.net" "(version >= 2.0.0)" EXPAT_FOUND) PRINT_LIBRARY_STATUS("libjpeg" "http://www.ijg.org" "(version >= 6b)" JPEG_FOUND) PRINT_LIBRARY_STATUS("libkde" "http://www.kde.org" "(version >= ${KF5_MIN_VERSION})" KF5_FOUND) PRINT_LIBRARY_STATUS("liblcms" "http://www.littlecms.com" "(version >= 1.0.0)" LCMS2_FOUND) PRINT_LIBRARY_STATUS("libopencv" "http://opencv.willowgarage.com" "(version >= ${OPENCV_MIN_VERSION})" OpenCV_FOUND) PRINT_LIBRARY_STATUS("libpng" "http://www.libpng.org/pub/png/libpng.html" "(version >= 1.2.7)" PNG_FOUND) PRINT_LIBRARY_STATUS("libpthread" "http://www.gnu.org/software/hurd/libpthread.html" "(version >= 2.0.0)" CMAKE_USE_PTHREADS_INIT OR CMAKE_USE_WIN32_THREADS_INIT) PRINT_LIBRARY_STATUS("libqt" "http://www.qtsoftware.com" "(version >= ${QT_MIN_VERSION})" Qt5_FOUND) PRINT_LIBRARY_STATUS("libtiff" "http://www.remotesensing.org/libtiff" "(version >= 3.8.2)" TIFF_FOUND) # ============================================================================== PRINT_OPTIONAL_LIBRARY_STATUS("bison" "https://www.gnu.org/software/bison/" "(version >= 2.5.0)" "digiKam will be compiled without Panorama support." BISON_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("doxygen" "http://www.doxygen.org" "(version >= 1.8.0)" "digiKam will be compiled without API documentation building support." DOXYGEN_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("flex" "http://flex.sourceforge.net/" "(version >= 2.5.0)" "digiKam will be compiled without Panorama support." FLEX_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libakonadicontact" "https://projects.kde.org/projects/kde/kdepimlibs" "(version >= ${AKONADI_MIN_VERSION})" "digiKam will be compiled without KDE address book support." KF5AkonadiContact_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libeigen3" "http://eigen.tuxfamily.org" "(version >= 3.0.0)" "digiKam will be compiled without Refocus tool support." EIGEN3_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libgphoto2" "http://www.gphoto.org" "(version >= 2.4.0)" "digiKam will be compiled without GPhoto2 camera drivers support." GPHOTO2_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libjasper" "http://www.ece.uvic.ca/~mdadams/jasper" "(version >= 1.7.0)" "digiKam will be compiled without JPEG2000 support." JASPER_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libkcalcore" "https://projects.kde.org/projects/kde/pim/kcalcore" "(version >= ${CALENDAR_MIN_VERSION})" "digiKam will be compiled without KDE calendar support." KF5CalendarCore_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libkfilemetadata" "https://projects.kde.org/projects/kde/kdelibs/baloo" "(version >= ${KF5_MIN_VERSION})" "digiKam will be compiled without KDE file metadata support." KF5FileMetaData_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libkiconthemes" "https://projects.kde.org/projects/frameworks/kiconthemes" "(version >= ${KF5_MIN_VERSION})" "digiKam will be compiled without KDE desktop icon themes support." KF5IconThemes_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libkio" "https://projects.kde.org/projects/frameworks/kio" "(version >= ${KF5_MIN_VERSION})" "digiKam will be compiled without KDE desktop integration support." KF5KIO_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libkipi" "https://projects.kde.org/projects/kde/kdegraphics/libs/libkipi" "(version >= ${KIPI_MIN_VERSION})" "digiKam will be compiled without Kipi-plugins support." KF5Kipi_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libknotifications" "https://projects.kde.org/projects/frameworks/knotifications" "(version >= ${KF5_MIN_VERSION})" "digiKam will be compiled without KDE desktop notifications support." KF5Notifications_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libknotifyconfig" "https://projects.kde.org/projects/frameworks/knotifyconfig" "(version >= ${KF5_MIN_VERSION})" "digiKam will be compiled without KDE desktop notify configuration support." KF5NotifyConfig_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libksane" "https://projects.kde.org/projects/kde/kdegraphics/libs/libksane" "(version >= ${KSANE_MIN_VERSION})" "digiKam will be compiled without libksane support." KF5Sane_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("liblensfun" "http://lensfun.sourceforge.net" "(version >= 0.2.6)" "digiKam will be compiled without Lens Auto Correction tool support." LENSFUN_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("liblqr-1" "http://liblqr.wikidot.com" "(version >= 0.4.1)" "digiKam will be compiled without Contents Aware Resizer tool support." LQR-1_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libmarble" "https://projects.kde.org/projects/kde/kdeedu/marble" "(version >= 0.22.0)" "digiKam will be compiled without geolocation maps support." MARBLE_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libqtav" "http://www.qtav.org/" "(version >= ${QTAV_MIN_VERSION})" "digiKam will be compiled without Media Player support." QTAV_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libthreadweaver" "https://projects.kde.org/projects/frameworks/threadweaver" "(version >= ${KF5_MIN_VERSION})" "digiKam will be compiled without Panorama support." KF5ThreadWeaver_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libxml2" "http://xmlsoft.org" "(version >= 2.7.0)" "digiKam will be compiled without HTMLGallery support." LIBXML2_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("libxslt" "http://xmlsoft.org/XSLT" "(version >= 1.1.0)" "digiKam will be compiled without HTMLGallery support." LIBXSLT_FOUND) PRINT_OPTIONAL_LIBRARY_STATUS("OpenGL" "http://www.mesa3d.org" "(version >= 11.0.0)" "digiKam will be compiled without OpenGL support." HAVE_OPENGL) # ============================================================================== -if(Qt5_FOUND AND - KF5_FOUND AND - JPEG_FOUND AND - TIFF_FOUND AND - PNG_FOUND AND - LCMS2_FOUND AND - Boost_FOUND AND - EXIV2_FOUND AND - OpenCV_FOUND AND - EXPAT_FOUND AND +if(Boost_FOUND AND + EXIV2_FOUND AND + EXPAT_FOUND AND + JPEG_FOUND AND + KF5_FOUND AND + LCMS2_FOUND AND + OpenCV_FOUND AND + PNG_FOUND AND + Qt5_FOUND AND + TIFF_FOUND AND + Threads_FOUND AND + (Qt5Test_FOUND OR NOT BUILD_TESTING) AND + (Qt5X11Extras_FOUND OR NOT HAVE_X11) AND (CMAKE_USE_PTHREADS_INIT OR CMAKE_USE_WIN32_THREADS_INIT) ) message(STATUS " digiKam can be compiled.................. YES") set(DIGIKAM_CAN_BE_COMPILED true) else() message(FATAL_ERROR " digiKam will be compiled.................. NO (See the README file for more details about dependencies)") set(DIGIKAM_CAN_BE_COMPILED false) endif() message(STATUS "----------------------------------------------------------------------------------") message(STATUS "") if(DIGIKAM_CAN_BE_COMPILED) # ========================================================================== # Create git version header # We only do this IF we are in a .git dir find_file(GIT_MARKER entries PATHS ${CMAKE_SOURCE_DIR}/.git) if(NOT GIT_MARKER) set(GIT_MARKER ${CMAKE_SOURCE_DIR}/CMakeLists.txt) # Dummy file endif() # Add a custom command to drive the git script whenever the git entries # file changes. configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/gitscript.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/gitscript.cmake" @ONLY) # Add a custom target to drive the custom command. add_custom_target(digikam-gitversion ALL COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/gitscript.cmake") # ========================================================================== # To prevent warnings from M$ compiler if(WIN32 AND MSVC) add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-D_ATL_SECURE_NO_WARNINGS) add_definitions(-D_AFX_SECURE_NO_WARNINGS) endif() # ========================================================================== # Definitions rules # Remove pedantic GCC flag which generate a lots of warnings on the console # with qCDebug() while(CMAKE_CXX_FLAGS MATCHES "-pedantic") string(REPLACE "-pedantic" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") endwhile() # Remove Wsuggest-override GCC flag which generate a lots of compile warnings while(CMAKE_CXX_FLAGS MATCHES "-Wsuggest-override") string(REPLACE "-Wsuggest-override" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") endwhile() # Remove Wdate-time GCC flag which generate a lots of compile warnings while(CMAKE_CXX_FLAGS MATCHES "-Wdate-time") string(REPLACE "-Wdate-time" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") endwhile() # translations catalog add_definitions(-DTRANSLATION_DOMAIN=\"digikam\") # NOTE: with libpgf 6.11.24 OpenMP is not very well supported. We disable # it to be safe. See B.K.O #273765 for details. add_definitions(-DLIBPGF_DISABLE_OPENMP) # To force to declare as exported classes in all sub components. # This will only done near to library declaration in Cmake files. if(WIN32) add_definitions(-Ddigikamcore_EXPORTS) add_definitions(-Ddigikamdatabase_EXPORTS) endif() # Enable C++ Exceptions support, require by Greycstoration algorithm # (CImg.h) and PGF codec kde_enable_exceptions() # ========================================================================== # Includes rules # Recursively get all directories which contain header files set(DK_INCLUDES_ALL "") HEADER_DIRECTORIES(DK_LOCAL_INCLUDES_RAW) # This macro will set all paths which do not contain libjpeg- # We will add later the directory we need foreach(var ${DK_LOCAL_INCLUDES_RAW}) string(REGEX MATCH "libjpeg-" item ${var}) if(item STREQUAL "") list(APPEND DK_LOCAL_INCLUDES ${var}) endif() endforeach() set(DK_LOCAL_INCLUDES ${DK_LOCAL_INCLUDES} libs/jpegutils/${DIGIKAM_LIBJPEG_DIR}) include_directories(${DK_LOCAL_INCLUDES}) # for config headers digikam_version.h gitversion.h digikam_config.h # digikam_dbconfig.h libopencv.h include_directories(${CMAKE_CURRENT_BINARY_DIR}/app/utils) include_directories(${OpenCV_INCLUDE_DIRS}) # ========================================================================== # Common targets parts set(CMAKE_POSITION_INDEPENDENT_CODE ON) add_subdirectory(data) add_subdirectory(libs) add_subdirectory(utilities) add_subdirectory(app) add_subdirectory(showfoto) if(BUILD_TESTING) add_subdirectory(tests) endif() endif() # ============================================================================== # API documentation generation if(DOXYGEN_FOUND) set(API_DIR ${CMAKE_BINARY_DIR}/api) set(SOURCE_DIR ${CMAKE_SOURCE_DIR}) set(DOXYFILE ${CMAKE_BINARY_DIR}/Doxyfile) set(WARNFILE ${CMAKE_BINARY_DIR}/doxygen-warn.log) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/templates/Doxyfile.cmake.in ${DOXYFILE}) add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${DOXYFILE} WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) endif() diff --git a/NEWS b/NEWS index 9463829b12..f96e6b78b5 100644 --- a/NEWS +++ b/NEWS @@ -1,380 +1,381 @@ ***************************************************************************************************** digiKam 5.7.0 - Release date: 2017-07-23 NEW FEATURES: General : Add online handbook reader not dependant of desktop. General : New tool to export albums by email. General : New tool to create advance print layout. General : Send by Mail tool can remove all metadata to attached items. PrintCreator: Add option to create printing from albums or images selection. PrintCreator: Add option to customize output image properties to render printing. PrintCreator: Tool is now multi-threaded to process images while preview and printing. ImageEditor : Add SendByMail and PrintCreator tools support. Showfoto : Add SendByMail and PrintCreator tools support. LightTable : Add SendByMail and PrintCreator tools support. BUGFIXES FROM BUGZILLA: 001 ==> 381143 - Camera not removed between invocations. 002 ==> 381306 - Error with import from Fujifilm X-T10. 003 ==> 379869 - Crash of digikam after ending digiam writing changed tags into photos. 004 ==> 361047 - Wishlist: make grouped images more prominently visible [patch]. 005 ==> 381510 - "open with" on multiple images only passes first image. 006 ==> 378475 - digiKam crashed after connecting a Camera. 007 ==> 381697 - Cannot remove an image whose file has already been deleted by another application. 008 ==> 380189 - digiKam Import Menu doesn't show all plugins. 009 ==> 376422 - Rotate crashes. 010 ==> 314089 - Tagging faces is not working. 011 ==> 367692 - digiKam crashed trying to save an edited image. 012 ==> 369636 - Batch time stamp adjusting causes digikam to crash and destroys photos. 013 ==> 381762 - Crash on Windows installer. 014 ==> 381766 - Problem compiling digikam from GIT repository. 015 ==> 380359 - Shouldn't "Email Images" be in "Export" menu instead of "Tools" menu? 016 ==> 281921 - Send Images by mail tool cannot process albums. 017 ==> 114508 - Send images by mail tool does not delete its temporary files. 018 ==> 151327 - Send Images by mail dialog is not resizable. 019 ==> 108234 - Thunderbird will not open when sending emails in digiKam. 020 ==> 149915 - Sending selected pictures makes PC hang for 15 minutes + crash. 021 ==> 104918 - digiKam crashes while converting for email purposes. 022 ==> 096507 - Bug in email client selection. 023 ==> 280923 - The command Email messages does not attach the images to the email. 024 ==> 228609 - Sending images with thunderbird from albums with spaces in the name failes. 025 ==> 158585 - digiKam crashes after attempt to email pictures. 026 ==> 126493 - Mozilla does not start when sending emailed images. 027 ==> 139646 - "send by email" function does not work with Thunderbird 1.5.0.9 (it use to work before). 028 ==> 158916 - Error with non ascii characters in album names when sending images. 029 ==> 365733 - Tool «export by email» does not work properly. 030 ==> 366086 - No attachment in mail when using resizing option. 031 ==> 276428 - Send by emails fails for pgf pictures because they cannot be resized. 032 ==> 191872 - Use the send image tool in showfoto. 033 ==> 330274 - I downloaded showfoto photo program. Tried to open ShowFoto Handbook, got message could not find 'Khelpcenter'. 034 ==> 240220 - Help button not working properly. 035 ==> 110899 - All DigiKam ImagePlugins don't work in Showfoto. 036 ==> 132162 - Load image plugins on demand. 037 ==> 240222 - ShowFoto Handbook menu item not working. 038 ==> 211117 - Showfoto no filters or decorate menu. 039 ==> 252796 - "Save as" doesn't reuse previously selected dialog. 040 ==> 190208 - Change image properties options should be grayed out when the check box is unchecked. 041 ==> 147513 - It's non possible to send the file of photo because kmail don't start. 042 ==> 144247 - No file attachment in thunderbird. 043 ==> 134910 - Using email image tool (while having kontact open) results in a detachement of kmail from kontact. 044 ==> 377306 - Optionally remove all metadata. 045 ==> 204040 - Allow to share images by e-mail in message body instead as attachments. 046 ==> 281269 - Allow to share a remote image by e-mail. 047 ==> 346577 - digiKam does not show help when not running in KDE. 048 ==> 256262 - "Help / digiKam Handbook" menu item is misleading. 049 ==> 099497 - Please add a dummy handbook until there's a real one. 050 ==> 147865 - Image>email image>add image dialog does not show most thumbnails - but does show some. 051 ==> 172651 - Send image by email missing. 052 ==> 244649 - Cannot load and use tool such as SendMail. 053 ==> 132313 - Provide a simple way to email photos. 054 ==> 108956 - Send image as email attachment from within the imageviewer. 055 ==> 108949 - Send image as email attachment. 056 ==> 297798 - digiKam crashed (Export-Email Images). 057 ==> 337146 - Crash when exporting (to e-mail). 058 ==> 094157 - Can't email images with special characters in file name. 059 ==> 296776 - Crash while trying to send pictures via default email software. 060 ==> 197341 - Html pages do not sort pictures as they are sorted in the album. 061 ==> 116960 - Html Export tool appends ".jpg" to files who already has .jpg suffix. 062 ==> 158083 - Html interface for camera raw images. 063 ==> 164749 - background picture/logo for html. 064 ==> 095115 - killer feature: recursive HTML gallery from a category. 065 ==> 190293 - Export as html gallery has the forward button disabled before changing the selected folder. 066 ==> 125002 - Tmp is deleted no html. 067 ==> 127888 - Images not sorted in HTML Album Export. 068 ==> 128125 - Album title from digiKam are not converted into html entities. 069 ==> 113722 - Mpeg encoding fails. 070 ==> 118343 - Mjpeg slide stops with error. 071 ==> 125413 - "create MPEG slideshow" tool fails. 072 ==> 127532 - Images to mpg wrong directory error. 073 ==> 112558 - Mpeg plugin framerate adjustment. 074 ==> 091547 - focus stealing when 'mpeg slideshow' is selected, but mp2enc is missing. 075 ==> 131606 - Images 2 mpg with SVCD changes the proportion of the pictures. 076 ==> 168266 - digiKam mpeg enconding failure. 077 ==> 116040 - Merging MPEG flux. Unable to open file for reading. 078 ==> 114515 - Verify the existence of the MPEG output file path and the existence of the audio input file before launching the encoding process. 079 ==> 101110 - Cannot create MPEG from photos using transitions. 080 ==> 119070 - Difficult behaviour of MPEG slide slide show. 081 ==> 127219 - Creation of mpeg slide show fails. 082 ==> 171242 - Encoding of mpeg slideshow does not work. 083 ==> 145771 - Gnome Desktop crashes and restarts when select Cancel option for Mpeg Slideshow plugin. 084 ==> 145536 - MPEG SlideShow creates color lines on the first image processed. 085 ==> 119940 - Failed when trying to create MPEG Slide Show file from some jpg images. 086 ==> 153962 - Dependency Error the package doesn't check for the presence of mpg123. 087 ==> 138916 - Creating MPEG slideshow fails if previously attempted - background file not found. 088 ==> 140507 - Create MPEG diagshow in HDV formats (720i/p, 1080i/p). 089 ==> 162240 - The encoder start and finish imediately and there isn't any mpeg file. 090 ==> 143979 - Create an mpeg slideshow fails after the encoding. 091 ==> 121045 - Images 2 mpg. 092 ==> 114514 - Do not delete the temporary folder after each encoding process. 093 ==> 101656 - Image gallery use irretating filenames foo.jpeg.jpeg for images. 094 ==> 098968 - Cannot encode to VCD, DVD, XVCD. 095 ==> 109739 - Yuvscaler error in digiKam. 096 ==> 154363 - Encoding MPEG file error. 097 ==> 243531 - Mjpeg encoder. 098 ==> 151115 - Error encoding image files; unable to open file. 099 ==> 297287 - Remove metadata option when email exporting. 100 ==> 112550 - Stopping encoding mjpegtools digiKam error. 101 ==> 149971 - Encoding process finishes with unclear message. 102 ==> 119425 - Works one time not twice. 103 ==> 355509 - DNGkonverter crash when trying to convert raw file from Nikon D750. 104 ==> 379884 - Item Metadata Editor doesn't save changes. 105 ==> 381380 - Item Edit / Metadata doesn't work. 106 ==> 381639 - Map filter (left side bar) doesn't show images anymore. 107 ==> 149970 - MPEG slideshow : incorrect warrning about missing runtime files. 108 ==> 381916 - digiKam crash when add person names. 109 ==> 328848 - Print Assistant window not resizable nor scrollable. 110 ==> 100311 - digikam crashes when using print wizard. 112 ==> 162085 - digikam freezes while printing. 113 ==> 160810 - digikam crop photos next button does not work. 114 ==> 118868 - A recto-verso printing wizard. 115 ==> 308963 - Add the ability to Export photos to a PDF file. 116 ==> 260994 - Print error when print with "print assistant. 117 ==> 155084 - Printing comments and EXIF tags. 118 ==> 103153 - Add print icon to main toolbar of digiKam. 119 ==> 178983 - next/back-buttons in print-assistant should be labeled. 120 ==> 126863 - print thumbnails on A4 produces 210x297 pixel (instead of mm) image. 121 ==> 195960 - Error printing A4 size miniatures. 122 ==> 101495 - Raster effect on printout - using printwizard. 123 ==> 171439 - Before printing more than 1 picture could be possible all of them cut to set size - only first can be. 124 ==> 233970 - PrintWizard do not retaining settings. 125 ==> 294563 - digiKam - DVD Slideshow. 126 ==> 117073 - Album export to HTMLGallery would benefit from a treeview widget. 128 ==> 251705 - Remove Red Eyes process wrong image regions, fill image parts with green color. 129 ==> 222992 - Crash in digikam when correcting red eyes. 130 ==> 342475 - Crash by open red Eyes correction tool. 131 ==> 164916 - With RAWs the burning crashes. 132 ==> 321879 - digiKam crash while viewing images. 133 ==> 232957 - digikam crashes while importing images (about 60000 files). 134 ==> 316994 - Crash with Red Eyes Correction tool. 135 ==> 322558 - Crash when i click on Red Eyes tool. 136 ==> 382133 - Processing fails, caused by too long filename. 137 ==> 294062 - digiKam crashes on HTML export. 138 ==> 210228 - Next button is disabled in html gallery. 139 ==> 311510 - HTML export crashing. 140 ==> 342645 - Export button inoperable. 141 ==> 219068 - Export items to html gallery using tags doesn't sort by date or file-name. 142 ==> 140374 - HTML Gallery export fails to parse xml from non-UTF8 metadata in jpeg. 143 ==> 194947 - Original Image link is 'hidden' by css colour setting. 144 ==> 169952 - Pictures on nfs-drive crashes digikam when i send picture as mail. 145 ==> 173203 - When sending images via email, tool fails to convert PNG to JPG. 146 ==> 146487 - Export to email fails when email too large. 147 ==> 128341 - Html export should not resize images if "resize target images" is not checked. 148 ==> 089541 - Exporting to HTML from Digikam doesn't seem to work due to unsafe thread access. 149 ==> 116605 - HTML Gallery crashing when exporting to an existing dir an choosing no to overwrite [Patch]. 150 ==> 090943 - Html export tool: add css functionality. 151 ==> 089068 - Improvement for the HTML export tool. 152 ==> 087188 - Send by mail tool attach empty comments for images even if photos have them. 153 ==> 115850 - Remove all the Image tools menu entries when unchecking the tools in Settings->Configure ShowFoto. 154 ==> 141362 - Get rid of any mention of core image tool. 155 ==> 105514 - Some menu items are displayed twice when displaying/editing a picture. E.g. sharpen. 156 ==> 103147 - digikam image tools appear multiple times in menus. 157 ==> 110015 - digikam tools not found - error in config file. 158 ==> 096853 - Tools from the digikam image editor are not available in the UI. 159 ==> 176140 - Red eyes tool is not working fine. 160 ==> 103644 - Red eyes remover make green eyes instead of blue eyes. 161 ==> 293321 - Open Red Eyes tool crash. 162 ==> 243186 - Crash when clicking on Red Eyes tool in menu list. 163 ==> 103150 - Have print wizard tool replace default printing function. 164 ==> 097187 - Calendar tool still messing with fonts and locales. 165 ==> 318661 - Send by mail tool does not convert to sRGB and strips existing ICC profile. 166 ==> 306993 - Crash with Edit all metadata. 167 ==> 146293 - Metadata editor menu untranslated. 168 ==> 167379 - Image selection or Album Selection for HTML Gallery tool. 169 ==> 301688 - Crash while browsing. 170 ==> 137014 - "Email Images" should be reached under "Album" > "Export". 171 ==> 137392 - add "send images by email" to context menu. 172 ==> 146601 - Error during renaming of images being sent via email. 173 ==> 140319 - Filetype incorrectly added to pictures sent in email. 174 ==> 163395 - digikam and encoding errors in mail attachments. 175 ==> 091596 - Send images stopped working, telling me the path to firefox was wrong. 176 ==> 096191 - "Email Images" feature requires Thunderbird. 177 ==> 189984 - Impossible to email images if the path contains characters such as éèà. 178 ==> 148186 - "send by email" function does not attach images in Thunderbird. 179 ==> 335163 - Digikam crashing when exporting to html with theme "floating frames". 180 ==> 101925 - HTML Export stop to work. 181 ==> 150479 - Provide export to pdf file. 182 ==> 121589 - Generate web-album from digiKam. 183 ==> 358843 - Add link to source code web interface to main menu. 184 ==> 167281 - Replace the Konqueror as the default external webbrowser by a system call. 185 ==> 118831 - First image from avi as icon. 186 ==> 141132 - digiKam is hung reading a file avi. 187 ==> 362472 - Provide a way to install Digikam 4.14 in (K)Ubuntu 16.04 (Xenial). 188 ==> 151604 - Print Wizard does not recognize raw images. 189 ==> 202480 - PrintWizard doesn't add comments properly but shows them in the preview. 190 ==> 146457 - Rotation is not done correctly exif. 191 ==> 188426 - Add support for different size printwizard templates. 192 ==> 100471 - Can't print the same image more than once on the same page. 193 ==> 133730 - Tool to print images on photo paper. 194 ==> 209165 - Print Assistant does not print svgz images. 195 ==> 218312 - Make search results to exclude children's tags 196 ==> 116149 - Possibility to quickly print an 'index print' from current album. 197 ==> 117670 - Printing is awfully slow. 198 ==> 127476 - Printing as very very slow. 199 ==> 175077 - digiKam does not print. 200 ==> 177137 - digiKam print assistant problems and ideas. 201 ==> 348760 - Old and not secure VLC version. 202 ==> 117920 - No encoder slide show. 203 ==> 342607 - digiKam crash at startup with GStream : QtMultimedia relevant. 204 ==> 235469 - digiKam Segmentation fault after 2 or 3 modifications. 205 ==> 223936 - Moving photos between albums is slow. 206 ==> 186640 - Multiseat workstation with mdm and gdm - digiKam crash. 207 ==> 227902 - digiKam crashes when picture saved after red-eye effect. 208 ==> 091485 - Red eye reduction - user should be told to select a part of the image. 209 ==> 382259 - Can't open picture database located at /home/egh/Pictures. 210 ==> 102636 - Delete fails: access denied to trash:/xyz.jpg. 211 ==> 382002 - Lazy synchronization not working. 212 ==> 170758 - High load when tagging. 213 ==> 111591 - Tag images browser doesn't show any images. 214 ==> 168267 - digiKam mpeg encoding failure. 215 ==> 115705 - ERROR: [yuvscaler] Could'nt read YUV4MPEG header. 216 ==> 331989 - digiKam crashes when playing AVI-file. 217 ==> 233693 - digiKam crash when clicking on .MOV file in album. 218 ==> 324611 - Deleting picture not possible. 219 ==> 105303 - Can't move images between folders. 220 ==> 092624 - Crashes while starting with signal 11 (SIGSEGV). 221 ==> 292634 - digiKam crash just after moving a people tag square. 222 ==> 274957 - Crash on copy multiple files. 223 ==> 323964 - digiKam crash while processing tags. 224 ==> 333352 - Re-appoints tag people. 225 ==> 283537 - digiKam crashed. 226 ==> 320292 - Crash while entering person names. 227 ==> 197562 - digiKam crash on deleting and moving a few pictures. 228 ==> 323993 - Crash while naming multiple people at the same time in one picture. 229 ==> 203146 - digiKam crashed wile moving files in the background. 230 ==> 107717 - Add trash to album treeview. 231 ==> 093246 - PrintWizard tool is missing. 232 ==> 176367 - Crop stage does not allow rotation or selection. 233 ==> 166712 - Choosing the part which is cut off for printing only works for the first photo. 234 ==> 133193 - Metadata over the photo to print. 235 ==> 145569 - There's non print option on the menu. 236 ==> 111454 - Print photo's date into one corner like print assistant. 237 ==> 141535 - Suggestion for photo layout algorithm. 238 ==> 121538 - Access denied. Could not write to digikamalbums. 239 ==> 273399 - Crash on exit. 240 ==> 267359 - Crash after unmount hdd drive during process running. 241 ==> 231866 - Crash when assigning score. 242 ==> 235249 - I was looking through images one by one in the viewing pane. 243 ==> 226888 - digiKam crashs after edit a few images. 244 ==> 228109 - digiKam close when I rate my picture and changing photos with backspace. 245 ==> 104008 - Name of the album not refreshed when changed. 246 ==> 269925 - Crash on library creation from usb drive. 247 ==> 229857 - Crash while browsing pictures. 248 ==> 266506 - Startup of digikam "by itself". 249 ==> 230531 - digiKam crashed while moving pictures from one folder to another. 250 ==> 261228 - Segfault while plugging in usb flash drive. 251 ==> 223617 - digiKam crash when changing the name of a pict. 252 ==> 225263 - digiKam crashed while applying black and white effect. 253 ==> 117845 - Crashes at startup, only in normal user mode. 254 ==> 252436 - Cierre repentino de digiKam, sin aviso de causa. 255 ==> 230346 - Crash after browsing through Album. 256 ==> 230799 - Crash while editing picture. 257 ==> 222550 - digiKam crashes when looking at pictures. 258 ==> 228501 - digiKam crashes after deleting images. 259 ==> 235583 - Manually updating metadata from database while having the option to write metadata automatically enabled. 260 ==> 259005 - digiKam crashed after external disk was turned off. 261 ==> 226663 - digiKam crashed after applying captions change. 262 ==> 225076 - digiKam crash while it was importing photo from NTFS files system. 263 ==> 256867 - digiKam crashes when deleting album. 264 ==> 173691 - digiKam doesn't show pictures. 265 ==> 193023 - Crash on closing application. 266 ==> 361981 - digiKam dies on start every time. 267 ==> 350927 - digiKam crash on startup. 268 ==> 354071 - digiKam crash on startup. 269 ==> 373876 - digiKam crash on start up. 270 ==> 350487 - digiKam crashes as startup. 271 ==> 173645 - digiKam crashes after startdialog. 272 ==> 375982 - digiKam launching fail. 273 ==> 098286 - Print Wizard has wrong default paper size. 274 ==> 177333 - digiKam can't find images in album. 275 ==> 180342 - Crash when migrating from 9.4 on Ubuntu Intrepid Ibex. 276 ==> 095582 - Link failure, -lpng missing in kioslave. 277 ==> 173995 - digiKam crashes on loading main view. 278 ==> 123120 - Delete (Move to trash) fails if you don't own the directory. 279 ==> 111920 - Crash with signal 11 when sending album to trash. 280 ==> 111819 - Can not move to trash album which contains sub-album. 281 ==> 139287 - Gallery images suddenly disappear after moving the second image to the trash. 282 ==> 145277 - Deleting photo to trash does not send to trash. 283 ==> 235594 - Cannot move files to trash in digiKam. 284 ==> 098231 - "move to trash" doesn't work. 285 ==> 225798 - Error when deleting or moving image to trash. 286 ==> 338920 - View/empty trash from within digiKam. 287 ==> 088923 - Improved verbosity when deleting items and deleting to trashcan. 289 ==> 227773 - At least twice in succession, the program did not even get so far as presenting me with a GUI screen -- instead, it crashed. 290 ==> 254544 - digikam crashed on initial config 291 ==> 206381 - Crash of app when closing app. 292 ==> 318991 - digiKam crash at startup. 293 ==> 319166 - digiKam crashes on 64bit version. 294 ==> 318861 - digiKam crashes on startup. 295 ==> 318744 - digiKam stop immediatly when I try to open it. 296 ==> 319674 - digiKam crashed. 297 ==> 318848 - Crash on startup the application. 298 ==> 320357 - Crash de digiKam. 299 ==> 326347 - Absturz bei Start. 300 ==> 318989 - digiKam crash. 301 ==> 319144 - digiKam crashes. 302 ==> 318859 - digiKam crashes on start. 303 ==> 318842 - digiKam crash in color management. 304 ==> 318730 - digiKam crashes. 305 ==> 318987 - digiKam crashes at startup. 306 ==> 318762 - digiKam crash. 307 ==> 324780 - Crash on startup. 308 ==> 315376 - digiKam Crash on Startup with active X11 color profile. 309 ==> 204551 - Error klauncher reports: Error loading 'kio_digikamalbums'. 310 ==> 180926 - Image thumbnails in albums not showing. 311 ==> 112766 - Can't import photo because digikamalbums:// died. 312 ==> 144200 - digiKam won't display or import thumbnails. 313 ==> 165885 - Thumbnails and images are NOT displayed in the main view center pane. 314 ==> 159377 - High CPU usage while changing exif data. 315 ==> 138106 - Rebuild thumbnails should be multithreaded. 316 ==> 118236 - Long delay and 100% cpu when showing tag submenu or dialogue. 317 ==> 106794 - Too many kio_thumbnail processes bring machine to its knees. 318 ==> 277619 - SETUP : Exclude folder/subfolder/image from database. 319 ==> 151317 - Don't import hidden directories. 320 ==> 226885 - Not displayed thumbnails failed load kio_digikamalbums. 321 ==> 290421 - digiKam should inform users when kio-slave fail to load. 322 ==> 127634 - Communication between digikam and its kioslaves broken if size_t != off_t. 323 ==> 308734 - digikam/kioslave: a lot of "KIO::Slave::timeout: Houston, we lost our slave" and "slave died". 324 ==> 337810 - Crashed after not install able libkgeomap1 depends. 325 ==> 341451 - Will not find subdirectories with images in main collection directory. 326 ==> 284577 - No images shown in albums. 327 ==> 266735 - digiKam displays no images: "unable to create io-slave" (OS X). 328 ==> 327827 - Some pictures not visible in digiKam. 329 ==> 193763 - digiKam doesn't display any photos. 330 ==> 226235 - digiKam fails after upgrade - no albums - rh tag & captions bar frozen. 331 ==> 250610 - Tool or procedure to check digiKam database. 332 ==> 196332 - Copying images leads to an error message. 333 ==> 227244 - Images on local disk not shown in middle pane. 334 ==> 227498 - digikam no longer shows any fotos. Showfoto works. 335 ==> 196329 - Renaming album causes problems (until re-opening). 336 ==> 198868 - pictures are not displayed in the main view i just can see them in the batch menu. 337 ==> 185494 - No images in digiKam, possibly database problem, however they look fine in showfoto. 338 ==> 181792 - Folders appear empty on first run after migrating from an old KDE version. 339 ==> 224404 - No images of a album are shown. 340 ==> 294835 - Albums are listed with (0) photos, but Database Statistics shows correct numbers of photos. 341 ==> 232720 - All Digikam Albums show zero items even though pictures exist. 342 ==> 195079 - digiKam albums appear empty. 343 ==> 203031 - Album list doesn't show pictures even after tons of new pictures were imported. 344 ==> 342557 - No rule to make target /opt/local/lib/libkgeomap.dylib in recent git distribution. 345 ==> 267789 - Make face detection (kface) and geo tagging (kmap) optional features. 346 ==> 171778 - digiKam does not load photos in its database. 347 ==> 196545 - Images on digikam are not dispayed / visualized. 348 ==> 198067 - digiKam does not show any pictures. 349 ==> 253815 - Allow directories/images to be excluded by default. 350 ==> 253062 - Database of 80,000+ images wiped out. 351 ==> 289872 - Database will not open. 352 ==> 313506 - Erasing files should be an independent process in digiKam. 353 ==> 255478 - digiKam database tables only grow in size and get never cleaned. 354 ==> 269435 - digiKam does not display any picture from any source. 355 ==> 201810 - Segfault moving files to trash. 356 ==> 197622 - digiKam crashes on exit. 357 ==> 327470 - digiKam crashes when exiting, after exporting to html. 358 ==> 330111 - No Thumbnails for video files - ffmpegthumbnailer works perfectly outside of digikam. 359 ==> 382703 - Compile error with cmake 3.9. 360 ==> 382677 - Rating groups by mouse only changes first item [patch] 361 ==> 379126 - digiKam on Wayland Plasma crashes at start. 362 ==> 377517 - digiKam editor crash. 363 ==> 152105 - Add collection view concept based on items to print. 364 ==> 383021 - Documentation links in web site broken. -365 ==> +365 ==> 382952 - Don't abort cmake when package is missing +366 ==> diff --git a/cmake/modules/MacroOpenCV.cmake b/cmake/modules/MacroOpenCV.cmake index c28957dbe9..b1a9514bc1 100644 --- a/cmake/modules/MacroOpenCV.cmake +++ b/cmake/modules/MacroOpenCV.cmake @@ -1,84 +1,84 @@ # A macro wrapper to find OpenCV library # # Syntax: DETECT_OPENCV(OPENCV_MIN_VERSION OPENCV_REQUIRED_COMPONENTS) # # Example: DETECT_OPENCV(2.4.9 core highgui objdetect contrib) # which try to find OpenCV version 2.4.9 # with internal components "core", "highgui", "objdetect", and "contrib". # # Copyright (c) 2010-2015, Gilles Caulier, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # # On some systems, OpenCV can be found using FIND_PACKAGE(OpenCV), for other systems # we ship our own version of FindOpenCV.cmake. But that does not work on all systems. # Therefore, first try finding OpenCV using FIND_PACKAGE(OpenCV), and if that fails, # add our FindOpenCV.cmake to the search path and search again. macro(DETECT_OPENCV OPENCV_MIN_VERSION) # Reset to avoid picking up extra libraries set(OpenCV_LIBS) set(OPENCV_REQUIRED_COMPONENTS "${ARGN}" ) message(STATUS "First try at finding OpenCV...") - find_package(OpenCV REQUIRED COMPONENTS ${OPENCV_REQUIRED_COMPONENTS}) + find_package(OpenCV COMPONENTS ${OPENCV_REQUIRED_COMPONENTS}) - if(NOT OpenCV_LIBRARIES AND NOT OpenCV_LIBS) + if(NOT OpenCV_FOUND) message(STATUS "Could not find OpenCV normally, trying internal FindOpenCV.cmake") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/modules_opencv) - find_package(OpenCV REQUIRED COMPONENTS ${OPENCV_REQUIRED_COMPONENTS}) + find_package(OpenCV COMPONENTS ${OPENCV_REQUIRED_COMPONENTS}) - else() + endif() - message(STATUS "Great, found OpenCV on the first try.") + if(OpenCV_FOUND) - endif() + message(STATUS "OpenCV Root directory is: ${OpenCV_DIR}") + + # check OpenCV version - message(STATUS "OpenCV Root directory is: ${OpenCV_DIR}") + if(OpenCV_VERSION) - # check OpenCV version + message(STATUS "OpenCV: Found version ${OpenCV_VERSION} (required: ${OPENCV_MIN_VERSION})") - if(OpenCV_VERSION) + if(${OpenCV_VERSION} VERSION_LESS ${OPENCV_MIN_VERSION}) - message(STATUS "OpenCV: Found version ${OpenCV_VERSION} (required: ${OPENCV_MIN_VERSION})") + message(WARNING "OpenCV: Version is too old.") + set(OpenCV_FOUND FALSE) - if(${OpenCV_VERSION} VERSION_LESS ${OPENCV_MIN_VERSION}) + endif() - message(WARNING "OpenCV: Version is too old.") + else() + + message(WARNING "OpenCV: Version information not found, your version is probably too old.") set(OpenCV_FOUND FALSE) endif() - else() - - message(WARNING "OpenCV: Version information not found, your version is probably too old.") - set(OpenCV_FOUND FALSE) + # There are two versions of FindOpenCV.cmake in the wild, one defining + # OpenCV_LIBRARIES, the other defining OpenCV_LIBS. Make sure we handle + # both cases. - endif() + if(NOT OpenCV_LIBRARIES) - # There are two versions of FindOpenCV.cmake in the wild, one defining - # OpenCV_LIBRARIES, the other defining OpenCV_LIBS. Make sure we handle - # both cases. + set(OpenCV_LIBRARIES ${OpenCV_LIBS}) - if(NOT OpenCV_LIBRARIES) + endif() - set(OpenCV_LIBRARIES ${OpenCV_LIBS}) + # Same story with OpenCV_INCLUDE_DIRS and OpenCV_INCLUDE_DIR: - endif() + if(NOT OpenCV_INCLUDE_DIRS) - # Same story with OpenCV_INCLUDE_DIRS and OpenCV_INCLUDE_DIR: + set(OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIR}) - if(NOT OpenCV_INCLUDE_DIRS) + endif() - set(OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIR}) + message(STATUS "OpenCV headers: ${OpenCV_INCLUDE_DIRS}") + message(STATUS "OpenCV libs : ${OpenCV_LIBRARIES}") endif() - message(STATUS "OpenCV headers: ${OpenCV_INCLUDE_DIRS}") - message(STATUS "OpenCV libs : ${OpenCV_LIBRARIES}") - endmacro() diff --git a/cmake/modules/MacroUtils.cmake b/cmake/modules/MacroUtils.cmake index 5890c7a363..de084e6d60 100644 --- a/cmake/modules/MacroUtils.cmake +++ b/cmake/modules/MacroUtils.cmake @@ -1,177 +1,177 @@ # Some useful macros for printing status information # # Copyright (c) 2010-2015, Gilles Caulier, # # Redistribution and use is allowed according to the terms of the BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. set(PRINT_COMPILE_LENGTH "40") macro(FILL_WITH_DOTS VAR) string(LENGTH ${${VAR}} NAME_LENGTH) math(EXPR DOT_LENGTH "${PRINT_COMPILE_LENGTH} - ${NAME_LENGTH}") if(${DOT_LENGTH} LESS 0) set(DOT_LENGTH 0) endif() foreach(COUNT RANGE ${DOT_LENGTH}) set(${VAR} "${${VAR}}.") endforeach() endmacro() # ------------------------------------------------------------------------- macro(PRINT_LIBRARY_STATUS NAME WEBSITE VERSIONHINT) set(LIB_MESSAGE "${NAME} found") FILL_WITH_DOTS(LIB_MESSAGE) if(${ARGN}) message(STATUS " ${LIB_MESSAGE} YES") else() message(STATUS " ${LIB_MESSAGE} NO") - message(SEND_ERROR " ${NAME} is needs. You need to install the ${NAME} ${VERSIONHINT} development package.") + message(SEND_ERROR " ${NAME} is needed. You need to install the ${NAME} ${VERSIONHINT} development package.") message(STATUS " ${NAME} website is at ${WEBSITE}") message(STATUS "") endif() endmacro() # ------------------------------------------------------------------------- macro(PRINT_OPTIONAL_LIBRARY_STATUS NAME WEBSITE VERSIONHINT FEATUREMISSING) set(LIB_MESSAGE "${NAME} found") FILL_WITH_DOTS(LIB_MESSAGE) if(${ARGN}) message(STATUS " ${LIB_MESSAGE} YES (optional)") else() message(STATUS " ${LIB_MESSAGE} NO (optional)") message(STATUS " ${FEATUREMISSING}") message(STATUS " Please install the ${NAME} ${VERSIONHINT} development package.") if(${WEBSITE}) message(STATUS " ${NAME} website is at ${WEBSITE}") endif() message(STATUS "") endif() endmacro() # ------------------------------------------------------------------------- macro(PRINT_QTMODULE_STATUS NAME) set(LIB_MESSAGE "${NAME} module found") FILL_WITH_DOTS(LIB_MESSAGE) if(${ARGN}) message(STATUS " ${LIB_MESSAGE} YES") else() message(STATUS " ${LIB_MESSAGE} NO") message(STATUS "") - message(SEND_ERROR " ${NAME} module is needs. You need to install a package containing the ${NAME} module.") + message(SEND_ERROR " ${NAME} module is needed. You need to install a package containing the ${NAME} module.") message(STATUS "") endif() endmacro() # ------------------------------------------------------------------------- macro(PRINT_EXECUTABLE_STATUS NAME TECHNICAL_NAME PATH_VARIABLE) set(LIB_MESSAGE "${NAME} found") FILL_WITH_DOTS(LIB_MESSAGE) if(${ARGN}) message(STATUS " ${LIB_MESSAGE} YES") else() message(STATUS " ${LIB_MESSAGE} NO") message(STATUS "") - message(STATUS " ${NAME} is needs. You need to install the package containing the \"${TECHNICAL_NAME}\" executable.") + message(STATUS " ${NAME} is needed. You need to install the package containing the \"${TECHNICAL_NAME}\" executable.") message(STATUS " If you have this executable installed, please specify the folder containing it by ${PATH_VARIABLE}") message(SEND_ERROR "") endif() endmacro() # ------------------------------------------------------------------------- macro(PRINT_COMPONENT_COMPILE_STATUS NAME) set(COMPILE_MESSAGE "${NAME} will be compiled") FILL_WITH_DOTS(COMPILE_MESSAGE) IF(${ARGN}) message(STATUS " ${COMPILE_MESSAGE} YES (optional)") else() message(STATUS " ${COMPILE_MESSAGE} NO (optional)") endif() endmacro() # ------------------------------------------------------------------------- macro(PRINT_OPTIONAL_QTMODULE_STATUS NAME) set(LIB_MESSAGE "${NAME} module found") FILL_WITH_DOTS(LIB_MESSAGE) if(${ARGN}) message(STATUS " ${LIB_MESSAGE} YES (optional)") else() message(STATUS " ${LIB_MESSAGE} NO (optional)") endif() endmacro() # ------------------------------------------------------------------------- macro(HEADER_DIRECTORIES return_list) file(GLOB_RECURSE new_list *.h) set(dir_list "") foreach(file_path ${new_list}) get_filename_component(dir_path ${file_path} PATH) set(dir_list ${dir_list} ${dir_path}) endforeach() list(REMOVE_DUPLICATES dir_list) set(${return_list} ${dir_list}) endmacro()