Skip to content

简介

历史

LemonLime 项目是 LemonPlus 的二次开发。

2011 年,Jia Zhipeng 开发完成了 Lemon,一个开源的评测工具。

虽然我们并不知道他确切的动机,

——是想弥补 Linux 下没有评测工具的缺陷,还是想造出一个 Cena 的对手,

不管怎样,他的愿望达成了,Lemon 的历史也从此开始。

现在(2020 年)他已经是一名得克萨斯大学奥斯汀分校的 2 年级博士生了,祝他的学业生涯顺利。

2018 年,在 浮尘ii* 的努力下,Lemon 进化为 LemonPlus。

LemonPlus 成功兼容了 Qt 5,

并且新增了适合新时代 OI 的功能,移除了一些不稳定的、过时的功能。

奈何 OI 残酷,岁月更迁,物是人非,浮尘ii* 在 2019 年退役了,

LemonPlus 的开发也相应地结束了。

2019 年,iotang 开始魔改 Lemon。

起初,是想给 Lemon 增添一点用户体验——

添加更多的颜色、优化界面,以及修改令人崩溃的重测逻辑,

但是误打误撞地在 Github 上发现了 LemonPlus。

可怜的 iotang 当时还不会用 Pull Request,所以 LemonLime 诞生了。

LemonLime 继承了 LemonPlus 和 LemonMt(这个大概只有长郡人才会知道)的优点。

放眼望去,Lemon 的历史就像是传火。

Lemon 开发要想继续,就必须要燃烧 Oier 的灵魂。

2020 年,随着政策巨变,iotang 也在退役的路上了。

虽然退役并不代表开发停止,但是开发 Lemon 的热情将再也不能体会到了。

也只能可惜 iotang 不够强了吧。

2020 年,因为功能欠缺的 qmake,

Ceolacanthus 开始了把 LemonLime 从 QMake 迁移到 CMake 的路程。

又因为不想每次都编译,她开始改造 LemonLime 的 CI,

试图完成自动编译和打包。

2020 年底,她成功的让 LemonLime 兼容了 Qt6。

2021 年,Alphagocc 让 LemonLime 重新支持了多线程评测和新的比赛文件格式

当然,这一切都还没完成。

本篇用户手册是仿照 LemonPlus 的用户手册进行编写的。

Lemon 与开源意志

LemonLime 使用 GPLv3 协议。也就是说,LemonLime 是自由软件。

自由软件是什么?为什么 LemonLime 选择成为自由软件?

自由软件意味着使用者有运行、复制、发布、研究、修改和改进该软件的自由。

自由软件是权利问题,不是价格问题。

要理解这个概念,你应该考虑"free"是"言论自由(free speech)"中的"自由",

而不是"免费啤酒(free beer)"中的"免费"。

更精确地说,自由软件赋予软件使用者四项基本自由:

  • 不论目的为何,有运行该软件的自由(自由之零)。

  • 有研究该软件如何工作以及按需改写该软件的自由(自由之一)。

  • 有重新发布拷贝的自由,这样你可以借此来敦亲睦邻(自由之二)。

  • 有向公众发布改进版软件的自由(自由之三),这样整个社群都可因此受惠。

不管是 Lemon,还是它的后继者 LemonPlus 和 LemonLime,

都恪守着自由软件的意志。

这是 LemonPlus 和 LemonLime 诞生的保障,

也是 Lemon 不断延续自己的生命的保障。

Lemon,以及它的后继者们,拥抱开源。

我们希望,Lemon 可以为全世界的 OIer 带来福祉。

让我们一起,把 Lemon 变得更好。

版本兼容性

LemonLime 近乎完全兼容 LemonPlus,出问题的地方在子任务依赖(为了支持 0 分测试点的让步,不过这个问题将会被解决)。不过这个问题在使用对应平台重新测试后就可以自动解决。

LemonLime 完全兼容 Lemon。

LemonLime 主要使用 Qt6 编写,目前支持的最低版本为 Qt 6.8。由于 Qt5 的兼容性不再保证,请在编译时开启 -DLEMON_QT6=ON 参数,若不开启可能无法编译(该参数计划在未来移除)。

LemonLime 可以使用 GCC, ClangMSVC 进行编译