diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..8c652ed --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,72 @@ +# SPDX-FileCopyrightText: 2024 Alexander Kavon <me+kue@alexkavon.com> +# SPDX-License-Identifier: BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) + +project(kue VERSION 0.1) + +include(FeatureSummary) + +set(QT6_MIN_VERSION 6.5.0) +set(KF6_MIN_VERSION 6.0.0) +set(KIRIGAMI_ADDONS_MIN_VERSION 1.2.40) + +find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE) + +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) + +include(FeatureSummary) + +include(KDEInstallDirs) +include(KDECMakeSettings) +include(KDECompilerSettings NO_POLICY_SCOPE) + +include(ECMSetupVersion) +include(ECMFindQmlModule) +include(ECMQmlModule) +include(ECMQmlModule) + +include(KDEGitCommitHooks) +include(KDEClangFormat) + +ecm_setup_version(${PROJECT_VERSION} + VARIABLE_PREFIX KUE + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/version-kue.h" +) + +set(QT_EXTRA_COMPONENTS) +list(APPEND QT_EXTRA_COMPONENTS Widgets) + +find_package(Qt6 ${QT6_MIN_VERSION} REQUIRED COMPONENTS Core Gui Qml QuickControls2 Svg ${QT_EXTRA_COMPONENTS}) +find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS Kirigami CoreAddons Config I18n) + +# akonadi +set(LIBKDEPIM_VERSION "6.2.3") +find_package(KPim6Akonadi ${LIBKDEPIM_VERSION} CONFIG REQUIRED) +find_package(KPim6Libkdepim ${LIBKDEPIM_VERSION} CONFIG REQUIRED) +find_package(KPim6AkonadiMime ${LIBKDEPIM_VERSION} CONFIG REQUIRED) +find_package(KPim6Mime ${LIBKDEPIM_VERSION} CONFIG REQUIRED) +find_package(KPim6MailCommon ${LIBKDEPIM_VERSION} CONFIG REQUIRED) + +find_package(KF6KirigamiAddons ${KIRIGAMI_ADDONS_MIN_VERSION} REQUIRED) +set_package_properties(KF6KirigamiAddons PROPERTIES + TYPE REQUIRED + PURPOSE "Required application components and runtime dependency" +) + +qt_policy(SET QTP0001 NEW) + +ecm_find_qmlmodule(org.kde.kirigamiaddons.formcard) +ecm_find_qmlmodule(org.kde.kirigamiaddons.statefulapp) + +add_subdirectory(src) + +install(FILES org.kde.kue.desktop DESTINATION ${KDE_INSTALL_APPDIR}) +install(FILES org.kde.kue.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) +ki18n_install(po) + +feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) + +file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES src/*.cpp src/*.h) +kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) +kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) |
