fix: 修复依赖
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user