-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpyproject.toml
More file actions
124 lines (107 loc) · 2.62 KB
/
Copy pathpyproject.toml
File metadata and controls
124 lines (107 loc) · 2.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
[project]
name = "F4CP"
version = "1.1.0.RC1"
# dev1 开发快照,最早期,不稳定
# a1 alpha 内测版,功能可能还没完整
# b1 beta 测试版,功能基本有了,但可能有 bug
# rc1 release candidate,候选正式版,接近正式发布
# 无后缀 正式版
description = "power management system"
readme = "README.md"
requires-python = ">=3.11"
license = "GPL-3.0-only"
license-files = ["LICENSE"]
authors = [
{ name = "UF4OVER", email = "heping@hepi.ng" }
]
dependencies = [
"cx-freeze>=8.6.4",
"PyQt5>=5.15.2",
"pyocd>=0.44.1",
"pyqt-fluent-widgets>=1.11.2",
"pyqtgraph>=0.14.0",
]
[tool.uv]
constraint-dependencies = [
"pyqt5-qt5 <=5.15.2",
"capstone <=5.0.2",
]
[tool.cxfreeze]
executables = [
{ script = "start.py", base = "gui", target_name = "F4CP", icon = "Resources/Assets/F4CP_ICO_256.ico" },
{ script = "script/pyocd_launcher.py", base = "console", target_name = "pyocd" },
]
[tool.cxfreeze.build_exe]
build_exe = "build/exe"
includes = [
"PyQt5.QtCore",
"PyQt5.QtGui",
"PyQt5.QtWidgets",
"pyocd",
"qfluentwidgets",
"numpy",
"pyqtgraph",
"config",
]
packages = [
"app",
"app.core",
"app.controllers",
"app.devices",
"app.manager",
"app.protocol",
"app.session",
"app.widgets",
"app.window",
"app.widgets.chart",
"app.widgets.icon",
"app.widgets.pages",
"config"
]
include_files = [
["Resources/assets", "Resources/assets"],
["Resources/font", "Resources/font"],
["Resources/theme", "Resources/theme"],
["Resources/tools", "Resources/tools"],
["Resources/Config", "Resources/Config"],
]
# Qt/GUI 相关建议不要进 zip(减少插件/资源加载问题;也便于排查缺文件)
zip_include_packages = ["*"]
zip_exclude_packages = [
"PyQt5",
"lark",
"pyocd",
"cmsis_pack_manager",
"qfluentwidgets",
]
excludes = [
"matplotlib",
"backports",
"lib2to3",
"setuptools",
"tkinter",
"unittest",
"pylink",
"pyocd.probe.jlink_probe",
# --- capstone disassembly (~7 MB, not needed) ---
"capstone",
"capstone.lib",
# --- QtQuick / QML (not used) ---
"PyQt5.QtQuick",
"PyQt5.QtQml",
"PyQt5.QtQuickWidgets",
# --- Other unused Qt modules ---
"PyQt5.QtPrintSupport",
"PyQt5.QtSql",
"PyQt5.QtTest",
"PyQt5.QtHelp",
"PyQt5.QtMultimedia",
"PyQt5.QtMultimediaWidgets",
"PyQt5.QtPositioning",
"PyQt5.QtSensors",
"PyQt5.QtTextToSpeech",
"PyQt5.QtWinExtras",
]
optimize = 2
# Windows 运行时更稳(避免目标机器缺 VC++ runtime)
include_msvcr = true