Files
craft-blueprints-heurams/qt-apps/heurams-k/heurams-k.py
2026-05-01 04:06:27 +08:00

57 lines
2.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# SPDX-License-Identifier: BSD-2-Clause
# SPDX-FileCopyrightText: 2026 pluvium27 <pluvium27@outlook.com>
import info
from Package.CMakePackageBase import *
class subinfo(info.infoclass):
def setTargets(self):
self.displayName = "HeurAMS"
self.description = "Kirigami frontend for HeurAMS memory scheduler"
self.webpage = "https://git.pluv27.top/pluv/heurams-k"
# 定义源码来源
self.svnTargets['master'] = '[git]https://git.pluv27.top/pluv/heurams-k.git|master'
self.defaultTarget = 'master'
def setDependencies(self):
# 构建依赖
self.buildDependencies["dev-util/cmake"] = None
# 运行时依赖KDE 框架)
self.runtimeDependencies["kde/frameworks/tier1/kirigami"] = None
self.runtimeDependencies["kde/frameworks/tier1/kcoreaddons"] = None
self.runtimeDependencies["kde/frameworks/tier1/kconfig"] = None
self.runtimeDependencies["kde/frameworks/tier1/ki18n"] = None
# Kirigami Addons
self.runtimeDependencies["kde/unreleased/kirigami-addons"] = None
# Qt6 核心模块
self.runtimeDependencies["libs/qt6/qtbase"] = None
self.runtimeDependencies["libs/qt6/qtdeclarative"] = None
# 未来会添加 Python 支持
# self.runtimeDependencies["libs/python3"] = None
# self.runtimeDependencies["kde/pyotherside"] = None
class Package(CMakePackageBase):
def __init__(self, **kwargs):
super().__init__(**kwargs)
# 禁用测试(项目目前没有)
self.subinfo.options.configure.args += ["-DBUILD_TESTING=OFF"]
# 指定 Release 构建类型
self.subinfo.options.configure.args += ["-DCMAKE_BUILD_TYPE=Release"]
def createPackage(self):
self.defines["appname"] = "heurams-k"
# 如果有桌面图标,可以设置
# self.defines["icon"] = os.path.join(self.sourceDir(), "path/to/icon.png")
self.defines["shortcuts"] = [{
"name": "HeurAMS-K",
"target": "bin/heurams-k",
"description": self.subinfo.description
}]
return super().createPackage()