#build #cli #cargo-build #c #build-tool

构建 tpot

一个受Cargo启发的C语言构建工具

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构建工具

Download history 14/week @ 2024-07-26 122/week @ 2024-08-02 6/week @ 2024-08-09

每月下载 142

GPL-3.0-or-later

33KB
776

teapot 🫖

一个受Cargo启发的C语言构建系统,具有内置格式化、代码检查、依赖关系、注册表(即将推出)和多线程构建

入门指南

要安装teapot,请运行:cargo install tpot

依赖关系

teapot依赖于几个依赖项。大多数这些可以通过几个命令安装

创建您的第一个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