diff --git a/CMakeLists.txt b/CMakeLists.txt index 98e3d93..dd53c3b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,127 +1,131 @@ set(KDEPIM_VERSION_NUMBER "5.11.40") cmake_minimum_required(VERSION 3.5) project(knotes VERSION ${KDEPIM_VERSION_NUMBER}) set(KF5_MIN_VERSION "5.58.0") find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${knotes_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) include(ECMInstallIcons) include(ECMSetupVersion) include(ECMAddTests) include(GenerateExportHeader) include(ECMGenerateHeaders) include(FeatureSummary) include(CheckFunctionExists) include(ECMGeneratePriFile) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(ECMAddAppIcon) include(ECMQtDeclareLoggingCategory) # Do NOT add quote set(KDEPIM_DEV_VERSION alpha) # add an extra space if(DEFINED KDEPIM_DEV_VERSION) set(KDEPIM_DEV_VERSION " ${KDEPIM_DEV_VERSION}") endif() set(KDEPIM_VERSION "${KDEPIM_VERSION_NUMBER}${KDEPIM_DEV_VERSION}") set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}") set(KDEPIM_LIB_SOVERSION "5") set(AKONADINOTES_LIB_VERSION "5.11.40") set(AKONADI_VERSION "5.11.40") set(CALENDARUTILS_LIB_VERSION "5.11.40") set(KDEPIM_APPS_LIB_VERSION "5.11.40") set(KONTACTINTERFACE_LIB_VERSION "5.11.40") set(KPIMTEXTEDIT_LIB_VERSION "5.11.40") set(LIBKDEPIM_LIB_VERSION "5.11.40") set(KMIME_LIB_VERSION "5.11.40") set(PIMCOMMON_LIB_VERSION "5.11.40") set(GRANTLEETHEME_LIB_VERSION "5.11.41") set(QT_REQUIRED_VERSION "5.10.0") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED DBus Network PrintSupport Test Widgets Xml) find_package(Qt5X11Extras NO_MODULE) find_package(Grantlee5 "5.1" CONFIG REQUIRED) # Find KF5 package find_package(KF5Completion ${KF5_MIN_VERSION} REQUIRED) find_package(KF5Config ${KF5_MIN_VERSION} REQUIRED) find_package(KF5ConfigWidgets ${KF5_MIN_VERSION} REQUIRED) find_package(KF5CoreAddons ${KF5_MIN_VERSION} REQUIRED) find_package(KF5Crash ${KF5_MIN_VERSION} REQUIRED) find_package(KF5DBusAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DNSSD ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DocTools ${KF5_MIN_VERSION} REQUIRED) find_package(KF5GlobalAccel ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5IconThemes ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5ItemModels ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5ItemViews ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5KCMUtils ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5NewStuff ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Notifications ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5NotifyConfig ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Parts ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5TextWidgets ${KF5_MIN_VERSION} REQUIRED) find_package(KF5WidgetsAddons ${KF5_MIN_VERSION} REQUIRED) find_package(KF5WindowSystem ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5XmlGui ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Notifications ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5KDELibs4Support ${KF5_MIN_VERSION} CONFIG REQUIRED) # Find KdepimLibs Package find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiNotes ${AKONADINOTES_LIB_VERSION} CONFIG REQUIRED) find_package(KF5CalendarUtils ${CALENDARUTILS_LIB_VERSION} CONFIG REQUIRED) find_package(KF5KontactInterface ${KONTACTINTERFACE_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Libkdepim ${LIBKDEPIM_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Mime ${KMIME_LIB_VERSION} CONFIG REQUIRED) find_package(KF5PimCommonAkonadi ${PIMCOMMON_LIB_VERSION} CONFIG REQUIRED) find_package(KF5PimTextEdit ${KPIMTEXTEDIT_LIB_VERSION} CONFIG REQUIRED) find_package(KF5GrantleeTheme ${GRANTLEETHEME_LIB_VERSION} CONFIG REQUIRED) find_package(KF5AkonadiSearch "5.11.40" CONFIG REQUIRED) set_package_properties(KF5AkonadiSearch PROPERTIES DESCRIPTION "The Akonadi Search libraries" URL "https://kde.org/" TYPE REQUIRED PURPOSE "Provides search capabilities in KMail and Akonadi") if (NOT APPLE) find_package(X11) endif() set(KDEPIM_HAVE_X11 ${X11_FOUND}) set(CMAKE_MODULE_PATH ${knotes_SOURCE_DIR}/cmake/modules ${ECM_MODULE_PATH}) find_package(Xsltproc) set_package_properties(Xsltproc PROPERTIES DESCRIPTION "XSLT processor from libxslt" TYPE REQUIRED PURPOSE "Required to generate D-Bus interfaces for all Akonadi resources.") include_directories(${knotes_SOURCE_DIR} ${knotes_BINARY_DIR}) add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) add_definitions(-DQT_NO_FOREACH) set(CMAKE_CXX_STANDARD 14) configure_file(knotes-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/knotes-version.h @ONLY) add_subdirectory(noteshared) add_subdirectory(src) add_subdirectory(notesagent) -install( FILES knotes.categories knotes.renamecategories DESTINATION ${KDE_INSTALL_CONFDIR} ) +if (${ECM_VERSION} STRGREATER "5.58.0") + install(FILES knotes.categories knotes.renamecategories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) +else() + install(FILES knotes.categories knotes.renamecategories DESTINATION ${KDE_INSTALL_CONFDIR}) +endif() add_subdirectory(doc) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index de00178..7feaae9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,143 +1,147 @@ add_definitions(-DTRANSLATION_DOMAIN=\"knotes\") configure_file(config-knotes.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-knotes.h ) add_subdirectory(icons) if (BUILD_TESTING) add_subdirectory(print/autotests) endif() add_subdirectory(kontactplugin) add_subdirectory(kconf_update) ########### next target ############### set(libknotesprivate_config_lib_SRCS configdialog/knotesimpleconfigdialog.cpp configdialog/knoteconfigdialog.cpp configdialog/knotedisplayconfigwidget.cpp configdialog/knoteeditorconfigwidget.cpp configdialog/knotecollectionconfigwidget.cpp ) set(libknotesprivate_print_lib_SRCS print/knoteprintselectthemedialog.cpp print/knoteprintselectthemecombobox.cpp print/knoteprinter.cpp print/knoteprintobject.cpp print/knotegrantleeprint.cpp ) set(libknotesprivate_lib_SRCS ${libknotesprivate_config_lib_SRCS} ${libknotesprivate_print_lib_SRCS} knoteedit.cpp knotes_debug.cpp notes/knotedisplaysettings.cpp utils/knoteutils.cpp notes/knoteinterface.cpp notes/knotesmigrateapplication.cpp finddialog/knotefinddialog.cpp ) configure_file(settings/knotesglobalconfig.kcfg.cmake ${CMAKE_CURRENT_BINARY_DIR}/knotesglobalconfig.kcfg ) set( libknotesprivate_kcfg_lib_SRCS settings/knotesglobalconfig.kcfgc ) kconfig_add_kcfg_files(libknotesprivate_kcfg_lib_SRCS ${libknotesprivate_kcfg_lib_SRCS}) ecm_qt_declare_logging_category(libknotesprivate_lib_SRCS HEADER knotes_debug.h IDENTIFIER KNOTES_LOG CATEGORY_NAME org.kde.pim.knotes) add_library(knotesprivate ${libknotesprivate_lib_SRCS} ${libknotesprivate_kcfg_lib_SRCS} ) generate_export_header(knotesprivate BASE_NAME knotes) target_link_libraries(knotesprivate PUBLIC KF5::IconThemes PRIVATE KF5::PimCommon KF5::KCMUtils Grantlee5::Templates KF5::NewStuff KF5::WindowSystem Qt5::PrintSupport KF5::TextWidgets KF5::I18n notesharedprivate KF5::AkonadiSearchPIM KF5::AkonadiNotes KF5::PimTextEdit KF5::AkonadiWidgets KF5::GrantleeTheme ) set_target_properties(knotesprivate PROPERTIES VERSION ${KDEPIM_LIB_VERSION} SOVERSION ${KDEPIM_LIB_SOVERSION} ) install(TARGETS knotesprivate ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} LIBRARY NAMELINK_SKIP) set(knotes_SRCS knotes_debug.cpp apps/main.cpp apps/application.cpp apps/knotesapp.cpp apps/knotesakonaditray.cpp dialog/knoteskeydialog.cpp dialog/knotedeleteselectednotesdialog.cpp notes/knotebutton.cpp print/knoteprintselectednotesdialog.cpp notes/knote.cpp dialog/knoteselectednotesdialog.cpp ) qt5_add_dbus_adaptor(knotes_SRCS apps/org.kde.KNotes.xml apps/knotesapp.h KNotesApp ) file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*-apps-knotes.png") ecm_add_app_icon(knotes_SRCS ICONS ${ICONS_SRCS}) add_executable(knotes ${knotes_SRCS}) target_link_libraries(knotes knotesprivate KF5::KCMUtils KF5::PimCommon KF5::DNSSD KF5::KontactInterface notesharedprivate KF5::AkonadiCore KF5::Mime KF5::GlobalAccel KF5::Notifications KF5::WindowSystem KF5::KDELibs4Support KF5::AkonadiSearchDebug KF5::AkonadiNotes KF5::Crash KF5::AkonadiWidgets ) if (Qt5X11Extras_FOUND) target_link_libraries(knotes Qt5::X11Extras ${X11_LIBRARIES}) endif() install(TARGETS knotes ${KDE_INSTALL_TARGETS_DEFAULT_ARGS} ) ########### next target ############### set(kcm_knotes_PART_SRCS configdialog/knoteconfigdialog.cpp configdialog/knotedisplayconfigwidget.cpp configdialog/knoteeditorconfigwidget.cpp configdialog/knotecollectionconfigwidget.cpp knotes_debug.cpp) add_library(kcm_knote MODULE ${kcm_knotes_PART_SRCS} ) target_link_libraries(kcm_knote knotesprivate KF5::AkonadiCore KF5::KCMUtils KF5::NewStuff KF5::WindowSystem notesharedprivate KF5::AkonadiNotes KF5::PimCommon KF5::I18n KF5::AkonadiWidgets) install(TARGETS kcm_knote DESTINATION ${KDE_INSTALL_PLUGINDIR}) install(FILES data/knote_config_action.desktop data/knote_config_display.desktop data/knote_config_editor.desktop data/knote_config_network.desktop data/knote_config_print.desktop data/knote_config_collection.desktop data/knote_config_misc.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR}) ########### install files ############### install( PROGRAMS data/org.kde.knotes.desktop DESTINATION ${KDE_INSTALL_APPDIR}) install( FILES data/org.kde.knotes.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) install( FILES ${CMAKE_CURRENT_BINARY_DIR}/knotesglobalconfig.kcfg DESTINATION ${KDE_INSTALL_KCFGDIR}) install( FILES data/knotesappui.rc data/knotesui.rc DESTINATION ${KDE_INSTALL_KXMLGUI5DIR}/knotes) install( FILES apps/org.kde.KNotes.xml DESTINATION ${KDE_INSTALL_DBUSINTERFACEDIR}) -install( FILES data/knotes_printing_theme.knsrc DESTINATION ${KDE_INSTALL_CONFDIR} ) +if (${ECM_VERSION} STRGREATER "5.58.0") + install(FILES data/knotes_printing_theme.knsrc DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR}) +else() + install(FILES data/knotes_printing_theme.knsrc DESTINATION ${KDE_INSTALL_CONFDIR}) +endif() install(DIRECTORY print/themes/ DESTINATION ${KDE_INSTALL_DATADIR}/knotes/print/themes )