fix: 修复依赖

This commit is contained in:
2026-05-01 05:30:14 +08:00
parent b56f059652
commit b5027363ab

View File

@@ -1,58 +1,83 @@
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: 2026 pluvium27 <pluvium27@outlook.com> # SPDX-FileCopyrightText: 2026 pluvium27 <pluvium27@outlook.com>
# SPDX-License-Identifier: BSD-2-Clause
add_subdirectory(settings) cmake_minimum_required(VERSION 3.16)
qt_add_library(heurams_static STATIC) project(heurams-k VERSION 1.0.0)
ecm_add_qml_module(heurams_static
URI top.pluv27.heurams.kiri set(QT_MIN_VERSION "6.8.0")
GENERATE_PLUGIN_SOURCE set(KF_MIN_VERSION "6.12.0")
QML_FILES
qml/Main.qml set(CMAKE_CXX_STANDARD 17)
DEPENDENCIES set(CMAKE_CXX_STANDARD_REQUIRED ON)
org.kde.kirigamiaddons.formcard
org.kde.kirigamiaddons.statefulapp include(CTest)
org.kde.kirigami include(FeatureSummary)
top.pluv27.heurams.kiri.settings
find_package(ECM ${KF_MIN_VERSION} REQUIRED NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
include(KDEInstallDirs)
include(KDECMakeSettings)
include(KDECompilerSettings NO_POLICY_SCOPE)
include(ECMPoQmTools) # 新增
include(ECMSetupVersion)
include(ECMDeprecationSettings)
include(ECMAddAndroidApk)
include(ECMQmlModule)
include(KDEClangFormat)
include(KDEGitCommitHooks)
# 基础 Qt 组件
find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS
Core
Quick
Gui
Qml
Network
) )
target_sources(heurams_static PRIVATE # KDE 框架
heuramsapplication.cpp find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS
heuramsapplication.h Config
Kirigami2 # 注意Kongress 用 Kirigami2
I18n
CoreAddons
) )
target_link_libraries(heurams_static PUBLIC find_package(KF6KirigamiAddons 1.0 REQUIRED)
Qt6::Quick
KF6::I18n
KF6::CoreAddons
KF6::ConfigGui
KirigamiAddonsStatefulApp
)
target_include_directories(heurams_static PUBLIC ${CMAKE_BINARY_DIR})
# Android 特殊处理
if (ANDROID) if (ANDROID)
kirigami_package_breeze_icons(ICONS find_package(OpenSSL REQUIRED) # QtNetwork 可能需要
list-add find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS ColorScheme)
help-about
application-exit
applications-graphics
)
else() else()
target_link_libraries(heurams_static PUBLIC find_package(Qt6 ${QT_MIN_VERSION} REQUIRED COMPONENTS Widgets)
Qt::Widgets # 桌面版可以加这些,但不是必须
KF6::I18nQml # find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Crash)
)
endif() endif()
kconfig_add_kcfg_files(heurams_static GENERATE_MOC heuramsconfig.kcfgc) # 可选提醒功能(如果你需要)
# if(NOT ANDROID)
# find_package(KF6 ${KF_MIN_VERSION} REQUIRED COMPONENTS Notifications)
# endif()
add_executable(heurams main.cpp) add_subdirectory(src)
target_link_libraries(heurams PUBLIC
KirigamiApp # 安装 i18n 文件(如果有 po 目录)
heurams_static if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
heurams_staticplugin ki18n_install(po)
heurams_settings endif()
heurams_settingsplugin
) # 桌面文件安装(非 Android
install(TARGETS heurams ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) if (NOT ANDROID)
ecm_add_android_apk(heurams ANDROID_DIR ${CMAKE_SOURCE_DIR}/android) install(FILES top.pluv27.heurams.kiri.desktop DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES top.pluv27.heurams.kiri.metainfo.xml DESTINATION ${KDE_INSTALL_METAINFODIR})
endif()
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)