Skip to content

Catboy™ 构建系统v2.2.0

现代化的、声明式的 C/C++ 构建系统

📝 配置即代码

Catboy™ 使用构建蓝图文件(YAML 格式)描述项目结构,配置清晰直观,易于理解和维护。

yaml
targets:                        # 编译目标声明开始
  myapp:                        # 目标 myapp 声明开始
    build:                      # 目标 myapp 的构建声明开始
      type: executable          # 构建类型: 可执行程序
      sources:                  # 源代码列表声明开始
        c: ["src/**/*.c"]       # 包含 src 目录下所有 .c 文件
      includes: ["inc"]         # 头文件搜索路径 (-I) 添加项目目录下的 inc
      links: ["pthread"]        # 链接 pthread 线程库 (-l)
      flags: ["-Wall", "-O2"]   # 编译选项: 开启全部警告, 优化级别 2

💻 Visual Studio® Code 集成

Catboy™ 与 Visual Studio® Code 深度集成,提供最先进,便捷与舒适的 C/C++ 开发体验。

Catboy Project Tree View

通过安装 Catboy™ for Visual Studio® Code 插件,你便可以在自己最喜爱的 VS Code 中使用 Catboy,无需安装新的 IDE 软件,也无需修改任何 VS Code 的个人设置。

插件支持 Catboy 项目管理,一键构建,以及 Catboy 配置文件的语法高亮等功能。与此同时,插件配合 Catboy 主程序实现了 C/C++ 源代码解析,能够实现精准的符号查询与跳转。

🌐 全平台支持

Catboy™ 及 Catboy™ for Visual Studio® Code 插件支持全部主流的操作系统,包括 Windows®,Linux® 与 macOS®。Catboy 为所有操作系统平台带来了优秀且一致的 C/C++ 开发体验。你可以自由选择喜爱的平台使用 Catboy。

与此同时,Catboy 配置文件也具备跨平台能力。只需一份配置文件,可以在所有操作系统上使用,Catboy 会自动处理操作系统的差异。

⚡ 智能快速构建

Catboy™ 能够分析项目,在允许并发时有效利用多 CPU 进行并行编译。得益于 Catboy 的优秀设计,Catboy 的构建速度优于传统的构建系统。

编译 Azure RTOS NetX Duo 网络协议栈工程的时间比较

构建系统构建时间
Catboy25.973 秒
GNU Make39.361 秒
测试平台与测试工程说明
  1. 测试平台为装有 Windows 10 LTSC 的 PC,配备 Intel Core i5-10210U 处理器(4 核心 8 线程),8GB RAM,与 NVM Express SSD。
  2. 测试工程为 Azure RTOS NetX Duo 网络协议栈(512 个 C 文件)。编译工具链使用 ARM 官方的 aarch64-none-elf-gcc 14.2。两个构建系统均开启并行编译,GNU Make 使用 -j 参数,Catboy 默认开启并行编译。

⚙️ 高级项目配置

Catboy™ 支持类似 KConfig 的高级项目配置。允许用户声明与修改配置项。Catboy 会自动解析配置项的数值类型以及依赖关系,并能够自动生成配置宏以及头文件。此外,Catboy 具备项目自动发现能力,能够解析不同项目之间配置项的依赖关系,允许你关联其他项目的配置项。

Catboy 提供直观易用的终端用户界面(TUI)来进行项目配置。并在未来版本拓展 VS Code 插件支持。

Catboy Config

本页面内容遵循 Luna 软件源代码授权条款 (LSLA) 发布