diff --git a/CMakeLists.txt b/CMakeLists.txt index e9d19fd..83361ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,117 +1,114 @@ # SPDX-FileCopyrightText: 2023 Carl Schwan # SPDX-License-Identifier: BSD-3-Clause cmake_minimum_required(VERSION 3.16 FATAL_ERROR) set(PIM_VERSION "5.24.40") project(MimeTreeParserNG VERSION ${PIM_VERSION}) # ECM setup set(KF_MIN_VERSION "5.105.0") find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ) set(QT_REQUIRED_VERSION "5.15.2") if (QT_MAJOR_VERSION STREQUAL "6") set(QT_REQUIRED_VERSION "6.4.0") endif() include(KDEInstallDirs) include(KDECMakeSettings) include(KDECompilerSettings NO_POLICY_SCOPE) include(GenerateExportHeader) include(ECMGenerateHeaders) include(ECMGeneratePriFile) include(ECMQmlModule) include(ECMSetupVersion) include(FeatureSummary) include(KDEGitCommitHooks) include(KDEClangFormat) file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) include(ECMQtDeclareLoggingCategory) include(ECMDeprecationSettings) include(ECMAddQch) if (QT_MAJOR_VERSION STREQUAL "6") set(QT_REQUIRED_VERSION "6.4.0") set(KF_MIN_VERSION "5.240.0") set(KF_MAJOR_VERSION "6") else() set(KF_MAJOR_VERSION "5") endif() set(KPIM_MIME_VERSION "5.23.40") -set(CMAKE_CXX_STANDARD 17) -set(CMAKE_CXX_STANDARD_REQUIRED ON) - ecm_setup_version(PROJECT VARIABLE_PREFIX MIMETREEPARSERNG VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/mimetreeparserng_version.h" PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KPim${KF_MAJOR_VERSION}MimeTreeParserCoreConfigVersion.cmake" SOVERSION 5 ) configure_file(mimetreeparserng-version.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/src/mimetreeparserng-version.h @ONLY) option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") if(BUILD_TESTING) add_definitions(-DBUILD_TESTING) endif() ########### Find packages ########### find_package(Qt${KF_MAJOR_VERSION}Gui ${QT_MIN_VERSION} CONFIG REQUIRED) find_package(KF${KF_MAJOR_VERSION}I18n ${KF_MIN_VERSION} CONFIG REQUIRED) find_package(KF${KF_MAJOR_VERSION}Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) find_package(KF${KF_MAJOR_VERSION}CalendarCore ${KF_MIN_VERSION} CONFIG REQUIRED) find_package(KF${KF_MAJOR_VERSION}WidgetsAddons ${QT_MIN_VERSION} CONFIG) find_package(KPim${KF_MAJOR_VERSION}Mime ${KPIM_MIME_VERSION} CONFIG REQUIRED) find_package(Gpgme REQUIRED) find_package(Qt${KF_MAJOR_VERSION}Quick ${QT_MIN_VERSION} CONFIG) find_package(Qt${KF_MAJOR_VERSION}Widgets ${QT_MIN_VERSION} CONFIG) if (BUILD_TESTING) find_package(Qt${KF_MAJOR_VERSION}Test ${QT_MIN_VERSION} CONFIG REQUIRED) endif() ########### Targets ########### ecm_set_disabled_deprecation_versions(QT 6.4 KF 5.105.0) option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) set(COMPILE_WITH_UNITY_CMAKE_SUPPORT OFF) if (USE_UNITY_CMAKE_SUPPORT) set(COMPILE_WITH_UNITY_CMAKE_SUPPORT ON) add_definitions(-DCOMPILE_WITH_UNITY_CMAKE_SUPPORT) endif() add_subdirectory(src) if (BUILD_TESTING) add_subdirectory(examples) endif() install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mimetreeparserng_version.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/KPim${KF_MAJOR_VERSION}/MimeTreeParserCore COMPONENT Devel ) ecm_qt_install_logging_categories( EXPORT MIMETREEPARSERNG FILE mimetreeparser2.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} ) kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) ki18n_install(po) feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)