5个版本
0.1.4 | 2024年8月4日 |
---|---|
0.1.3 | 2023年5月1日 |
0.1.2 | 2023年4月21日 |
0.1.1 | 2023年4月21日 |
0.1.0 | 2023年4月17日 |
119 在 构建工具 中
每月下载 142 次
33KB
776 行
teapot 🫖
一个受Cargo启发的C语言构建系统,具有内置格式化、代码检查、依赖关系、注册表(即将推出)和多线程构建
入门指南
要安装teapot,请运行:cargo install tpot
依赖关系
teapot依赖于几个依赖项。大多数这些可以通过几个命令安装
- TCC - https://github.com/TinyCC/tinycc
- clang-format(仅需要格式化)
- clang-tidy(仅需要代码检查)
创建您的第一个Leaf
一旦安装了teapot及其依赖项,您就可以开始制作了!使用以下命令创建一个新的leaf(teapot的crates版本):
tpot new--bin my_first_leaf
如果一切顺利,现在将有一个名为my_first_leaf的文件夹,其中包含一个tea.toml和一个src/main.c文件。
构建和运行Leaf
要构建您的leaf,请运行tpot brew
,生成的工件将存储在target
目录中
或使用一个命令编译和运行,使用tpot pour
从那里,一切照旧。Teapot会在您创建新的C文件时找到它们,利用TCC以惊人的速度构建和链接它们。
依赖关系
最终,您可能需要向代码中添加依赖项。假设该依赖项支持teapot,只需将leaf下载到您的计算机上并运行tpot add
即可。例如,要添加raylib:
tpot add raylib--path deps/raylib--features text,shapes
将检查本地文件夹中的tea.toml文件,构建为静态库,并将其链接到您的程序中。
格式化
要格式化代码,请运行
tpot format
如果您不喜欢teapot的默认clang-format配置,请调整位于tea.toml文件同一目录中的.clang-format文件。
代码检查
要检查代码,请运行
tpot lint
这目前依赖于clang-tidy,并使用默认的代码检查,但正在开发一个类似于clippy的指定代码检查的系统。
关于库的说明
要创建库叶子,请在tpot new
命令中使用--lib
标志。库叶子除了src目录外,还有一个包含目录。包含目录中的任何头文件都将对外部使用可用。
特性
特性是teapot根据操作系统、桌面环境等来配置编译内容的途径。
叶子可用的特性在package.features的tea.toml文件中指定。除了用户定义的特性外,teapot还包含预定义的特性,如基于目标操作系统的windows和linux。
如果启用了一个特性,则将定义宏FEATURE_[NAME]
。例如,如果目标OS是Windows,则定义宏FEATURE_WINDOWS
。除了宏之外,以.[NAME].c
结尾的文件只有在特性启用时才会编译。例如,如果目标OS是Linux,则忽略文件awesome.windows.c
,并编译awesome.linux.c
。
变更日志
v0.1.4
- 禁用未使用的夜间特性
- 修复警告
v0.1.3
- 添加测试框架
- 添加对系统库的支持
- 修复调试模式
v0.1.2
- 添加代码风格检查
- 添加格式化
v0.1.1
- 添加MT构建
- 添加特性
- 添加定义
- 添加依赖
v0.1.0
- 简单构建
依赖关系
~5–16MB
~163K SLoC