-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmcpp.toml
More file actions
56 lines (49 loc) · 2.53 KB
/
Copy pathmcpp.toml
File metadata and controls
56 lines (49 loc) · 2.53 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
[package]
name = "tinynext"
version = "0.2.7"
description = "A GUI downloader: EUI-NEO frontend + aria2-next download engine"
license = "MIT"
# No src/main.cpp exists: with the `app-main` feature, main() comes from
# compat.eui-neo's GLFW entry point (core/app/glfw_app_main.cpp), so mcpp
# cannot auto-infer a bin target. Declare it explicitly — app.cpp supplies
# app::dslAppConfig() + app::compose(), and everything else in src/ is still
# compiled and linked via the default glob.
[targets.tinynext]
kind = "bin"
main = "src/app.cpp"
# Pin the LLVM/Clang toolchain. Without this, fresh machines (CI) fall back to
# mcpp's default llvm@20.1.7 while local dev uses whatever is set globally
# (here llvm@22.1.8) — builds would not be reproducible. Pin the version that
# local development uses.
[toolchain]
default = "llvm@22.1.8"
# Make the exe a Windows GUI-subsystem app (no console window on launch).
# /entry:mainCRTStartup keeps calling main() — glfw_app_main.cpp defines
# main(), and the GUI subsystem's default entry (WinMainCRTStartup) would
# otherwise demand a WinMain that doesn't exist.
# -lws2_32 links winsock for aria2_engine.cpp's LocalSocket (tinyhttps used to
# pull ws2_32 in as its dependency; with it removed we link it explicitly).
[target.'cfg(windows)'.build]
ldflags = ["-Wl,-subsystem:windows", "-Wl,-entry:mainCRTStartup", "-lws2_32", "-ldwmapi"]
# exe 图标 + 版本信息:mcpp 2026.8.7.1 原生 [resources](取代旧的 resources.rc /
# windres workaround,已删除)。仅 PE/Windows 目标实际嵌入;Linux/macOS 只校验路径、
# 产物不变,无需 cfg(windows)。FILEVERSION 取 [package].version(现为 0.2.7),
# ProductName/FileDescription/CompanyName 等默认取 [package],这里覆盖部分字段。
[resources]
icon = "assets/icon.ico"
[resources.version-info]
company = "TinyNext"
product = "TinyNext 下载器"
description = "TinyNext 下载器"
original-filename = "tinynext.exe"
internal-name = "tinynext"
# eui-neo 0.5.5:compat 配方上加包级 -fno-char8_t(修 u8string() 返回 char8_t 赋给
# std::string 的 C++23 编译错)+ 补 -ldwmapi(0.5.5 的 DWM 标题栏深色用)。版本决策见
# docs/roadmap.md。
[dependencies.compat]
eui-neo = { version = "0.5.5", features = ["app-main"] }
# 包装 IXWebSocket(client-only、零依赖):aria2 RPC 的 WebSocket 事件推送
# (onDownloadStart/Complete/Error/...),让状态迁移/完成通知即时,进度轮询降到 1s。
websocket = "12.0.1"
[dependencies.nlohmann]
json = "3.12.0"