diff --git a/CMakeLists.txt b/CMakeLists.txt index 1539381..5d43f6d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,118 +1,120 @@ set(KDEPIM_VERSION_NUMBER "5.11.40") cmake_minimum_required(VERSION 3.5) project(kmail-account-wizard VERSION ${KDEPIM_VERSION_NUMBER}) set(LIBRARY_NAMELINK LIBRARY NAMELINK_SKIP) set(KF5_MIN_VERSION "5.57.0") find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${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(AKONADI_MIMELIB_VERSION "5.11.40") set(IDENTITYMANAGEMENT_LIB_VERSION "5.11.40") set(KLDAP_LIB_VERSION "5.11.40") set(KMAILTRANSPORT_LIB_VERSION "5.11.40") set(AKONADI_VERSION "5.11.40") set(KIMAP_LIB_VERSION "5.11.40") set(AKONADI_MIMELIB_VERSION "5.11.40") set(KDEPIM_LIB_VERSION "${KDEPIM_VERSION_NUMBER}") set(KDEPIM_LIB_SOVERSION "5") set(QT_REQUIRED_VERSION "5.10.0") find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED Widgets Xml DBus Test) set(PIMCOMMON_LIB_VERSION_LIB "5.11.40") set(LIBKDEPIM_LIB_VERSION_LIB "5.11.40") set(LIBKLEO_LIB_VERSION_LIB "5.11.40") # Find KF5 package find_package(KF5Wallet ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5KCMUtils ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5NotifyConfig ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Config ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Service ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DBusAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DocTools ${KF5_MIN_VERSION} REQUIRED) find_package(KF5TextEditor ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Codecs ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Crash ${KF5_MIN_VERSION} REQUIRED) find_package(KF5Notifications ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) find_package(KF5IdentityManagement ${IDENTITYMANAGEMENT_LIB_VERSION} CONFIG REQUIRED) find_package(KF5Ldap ${KLDAP_LIB_VERSION} CONFIG REQUIRED) find_package(KF5MailTransportAkonadi ${KMAILTRANSPORT_LIB_VERSION} CONFIG REQUIRED) find_package(KF5PimCommon ${PIMCOMMON_LIB_VERSION_LIB} CONFIG REQUIRED) find_package(KF5LibkdepimAkonadi ${LIBKDEPIM_LIB_VERSION_LIB} CONFIG REQUIRED) find_package(KF5Libkleo ${LIBKLEO_LIB_VERSION_LIB} CONFIG REQUIRED) find_package(KF5IMAP ${KIMAP_LIB_VERSION} CONFIG REQUIRED) find_package(MailTransportDBusService CONFIG REQUIRED) find_package(KF5AkonadiMime ${AKONADI_MIMELIB_VERSION} CONFIG REQUIRED) include_directories(${kmail-account-wizard_SOURCE_DIR} ${kmail-account-wizard_BINARY_DIR}) # Qt5 package find_package(Qt5UiTools ${QT_REQUIRED_VERSION} CONFIG REQUIRED) find_package(KF5Kross ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5NewStuff ${KF5_MIN_VERSION} CONFIG REQUIRED) set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) # workaround for https://bugreports.qt.io/browse/QTBUG-74665 (bug in qt5.13 reevaluate it) if (${Qt5Widgets_VERSION} STREQUAL "5.13.0") MESSAGE(STATUS "Qt version: ${Qt5Widgets_VERSION} DISABLE compile without deprecated methods. bug QTBUG-74665") else() add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) endif() # allow to disable GHNS support on resource-constrained systems option( ACCOUNTWIZARD_NO_GHNS "Disable GHNS support in the account wizard" FALSE ) option(KDEPIM_ENTERPRISE_BUILD "Enable features specific to the enterprise branch, which are normally disabled. Also, it disables many components not needed for Kontact such as the Kolab client." FALSE) +option( ACCOUNTWIZARD_NO_REGENERATE_MIME "Don't regenerate mime file (only for developper)" FALSE ) + # config-enterprise.h is needed for both ENTERPRISE_BUILD and BUILD_EVERYTHING configure_file(src/config-enterprise.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/config-enterprise.h ) if ( ACCOUNTWIZARD_NO_GHNS ) add_definitions( -DACCOUNTWIZARD_NO_GHNS ) endif () add_subdirectory(src) install( FILES accountwizard.renamecategories accountwizard.categories DESTINATION ${KDE_INSTALL_CONFDIR} ) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c037b5b..f240bf4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,88 +1,90 @@ set(accountwizard_srcs cryptopage.cpp dialog.cpp typepage.cpp loadpage.cpp global.cpp page.cpp key.cpp dynamicpage.cpp setupmanager.cpp setuppage.cpp resource.cpp setupobject.cpp transport.cpp configfile.cpp ldap.cpp identity.cpp setupispdb.cpp setupautoconfigkolabmail.cpp setupautoconfigkolabldap.cpp setupautoconfigkolabfreebusy.cpp servertest.cpp personaldatapage.cpp ispdb/ispdb.cpp ispdb/autoconfigkolabmail.cpp ispdb/autoconfigkolabldap.cpp ispdb/autoconfigkolabfreebusy.cpp ) ki18n_wrap_ui(accountwizard_srcs ui/typepage.ui ui/loadpage.ui ui/setuppage.ui ui/personaldatapage.ui ui/cryptopage.ui ) ecm_qt_declare_logging_category(accountwizard_srcs HEADER accountwizard_debug.h IDENTIFIER ACCOUNTWIZARD_LOG CATEGORY_NAME org.kde.pim.accountwizard) set(accountwizard_libs KF5::AkonadiCore KF5::MailTransportAkonadi KF5::KCMUtils KF5::KrossCore KF5::KIOCore KF5::Mime KF5::IdentityManagement KF5::WidgetsAddons Qt5::UiTools KF5::Libkdepim KF5::ItemViews KF5::I18n KF5::Ldap KF5::AkonadiWidgets KF5::Crash KF5::Libkleo KF5::Notifications KF5::PimCommon KF5::XmlGui ) if ( NOT ACCOUNTWIZARD_NO_GHNS ) set(accountwizard_srcs ${accountwizard_srcs} providerpage.cpp) ki18n_wrap_ui(accountwizard_srcs ui/providerpage.ui) set(accountwizard_libs ${accountwizard_libs} KF5::NewStuff) endif () add_executable(accountwizard ${accountwizard_srcs} main.cpp) target_link_libraries(accountwizard ${accountwizard_libs} KF5::DBusAddons) add_library(accountwizard_plugin MODULE ${accountwizard_srcs} inprocess-main.cpp) target_link_libraries(accountwizard_plugin ${accountwizard_libs}) if ( NOT ACCOUNTWIZARD_NO_GHNS ) install(FILES accountwizard.knsrc DESTINATION ${KDE_INSTALL_CONFDIR}) endif () install(TARGETS accountwizard ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) install(TARGETS accountwizard_plugin DESTINATION ${KDE_INSTALL_PLUGINDIR}) install(PROGRAMS org.kde.accountwizard.desktop DESTINATION ${KDE_INSTALL_APPDIR}) install(FILES accountwizard-mime.xml DESTINATION ${KDE_INSTALL_MIMEDIR}) -update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) +if (NOT ACCOUNTWIZARD_NO_REGENERATE_MIME) + update_xdg_mimetypes(${KDE_INSTALL_MIMEDIR}) +endif() add_subdirectory(wizards) add_subdirectory(ispdb) if (BUILD_TESTING) add_subdirectory(autotests) endif()