diff --git a/CMakeLists.txt b/CMakeLists.txt index cd4e32f..249942b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,99 +1,98 @@ cmake_minimum_required(VERSION 3.5) set(PIM_VERSION "5.11.2") project(Akonadi-Mime VERSION ${PIM_VERSION}) # ECM setup set(KF5_MIN_VERSION "5.56.0") find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) set(QT_REQUIRED_VERSION "5.10.0") include(GenerateExportHeader) include(ECMGenerateHeaders) include(ECMGeneratePriFile) include(ECMSetupVersion) include(FeatureSummary) include(KDEInstallDirs) include(KDECMakeSettings) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(ECMQtDeclareLoggingCategory) - - set(AKONADI_MIME_VERSION ${PIM_VERSION}) set(AKONADI_VERSION "5.11.1") set(KF5_MIME_VERSION "5.11.1") ecm_setup_version(PROJECT VARIABLE_PREFIX AKONADIMIME VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfigVersion.cmake" SOVERSION 5 ) ########### Find packages ########### +find_package(KF5Codecs ${KF5_MIN_VERSION} CONFIG REQUIRED) +find_package(KF5ConfigWidgets ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5DBusAddons ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5KIO ${KF5_MIN_VERSION} CONFIG REQUIRED) -find_package(KF5Config ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5XmlGui ${KF5_MIN_VERSION} CONFIG REQUIRED) find_package(KF5Mime ${KF5_MIME_VERSION} CONFIG REQUIRED) find_package(KF5ItemModels ${KF5_MIME_VERSION} CONFIG REQUIRED) find_package(KF5Akonadi ${AKONADI_VERSION} CONFIG REQUIRED) set( SharedMimeInfo_MINIMUM_VERSION "1.3" ) find_package(SharedMimeInfo ${SharedMimeInfo_MINIMUM_VERSION} REQUIRED) find_package(LibXslt) set_package_properties(LibXslt PROPERTIES DESCRIPTION "xsltproc" URL "http://xmlsoft.org/XSLT/" TYPE REQUIRED PURPOSE "Needed to generate D-Bus interface specifications" ) ########### Targets ########### # workaround for https://bugreports.qt.io/browse/QTBUG-74665 (bug in qt5.13 reevaluate it) if (${Qt5Widgets_VERSION} STRGREATER "5.13") MESSAGE(STATUS "Qt version: ${Qt5Widgets_VERSION} DISABLE compile without deprecated methods. bug QTBUG-74665") else() add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) endif() add_subdirectory(src) add_subdirectory(serializers) if(BUILD_TESTING) add_subdirectory(autotests) add_subdirectory(tests) endif() ########### CMake Config Files ########### set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5AkonadiMime") configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5AkonadiMimeConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfig.cmake" INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} ) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/KF5AkonadiMimeConfigVersion.cmake" DESTINATION "${CMAKECONFIG_INSTALL_DIR}" COMPONENT Devel ) install(EXPORT KF5AkonadiMimeTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5AkonadiMimeTargets.cmake NAMESPACE KF5::) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/akonadi-mime_version.h DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel ) install(FILES akonadi-mime.categories DESTINATION ${KDE_INSTALL_CONFDIR}) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index 39ff216..ca63cd9 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -1,67 +1,66 @@ include(ECMAddTests) find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Test Widgets) add_subdirectory(messagetests) set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} ) include_directories( ${CMAKE_SOURCE_DIR}/serializers ${CMAKE_BINARY_DIR}/serializers ) macro(add_akonadi_isolated_test _source) get_filename_component(_targetName ${_source} NAME_WE) set(_srcList ${_source} ) kconfig_add_kcfg_files( _srcList ../src/specialmailcollectionssettings.kcfgc ) add_executable(${_targetName} ${_srcList}) target_link_libraries(${_targetName} Qt5::Test - KF5::MailTransport KF5::Mime KF5::AkonadiMime Qt5::Widgets ) # based on kde4_add_unit_test if (WIN32) get_target_property( _loc ${_targetName} LOCATION ) set(_executable ${_loc}.bat) else() set(_executable ${EXECUTABLE_OUTPUT_PATH}/${_targetName}) endif() if (UNIX) set(_executable ${_executable}.shell) endif() find_program(_testrunner akonaditest) if (KDEPIMLIBS_RUN_ISOLATED_TESTS) add_test( akonadikmime-${_targetName} ${_testrunner} -c ${CMAKE_CURRENT_SOURCE_DIR}/unittestenv/config.xml ${_executable} ) endif() endmacro() if (KDEPIMLIBS_RUN_KDEPIMRUNTIME_ISOLATED_TESTS) add_akonadi_isolated_test( localfolderstest.cpp ) add_akonadi_isolated_test( localfoldersrequestjobtest.cpp ) add_akonadi_isolated_test( racetest.cpp ) add_akonadi_isolated_test(collectionjobtest.cpp) endif() add_subdirectory(benchmarker) ecm_add_test(mailserializerplugintest.cpp ${CMAKE_BINARY_DIR}/serializers/akonadi_serializer_mail_debug.cpp LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore KF5::AkonadiPrivate KF5::Mime Qt5::Test TEST_NAME mailserializerplugintest ) ecm_add_test(mailserializertest.cpp ${CMAKE_SOURCE_DIR}/serializers/akonadi_serializer_mail.cpp ${CMAKE_BINARY_DIR}/serializers/akonadi_serializer_mail_debug.cpp LINK_LIBRARIES KF5::AkonadiMime KF5::AkonadiCore KF5::AkonadiPrivate KF5::Mime Qt5::Test TEST_NAME mailserializertest )