Forge 是一个为 C++ 开发设计的现代包管理器和构建前端,旨在简化 C++ 项目的依赖管理、构建和分发流程。
目前 Forge 处于早期开发阶段,首要目标是实现一个基于 clang + cmake 的极简版本,随后将逐步扩展功能并支持更多编译器与构建系统。
- 现代配置文件: 使用
toml格式定义项目元数据和依赖。 - 依赖解析: 自动解析依赖树并处理版本冲突。
- 自动构建集成: 无缝生成并调用 CMake 脚本或其他构建系统。
- 多编译器支持: 初始支持 Clang,计划扩展至 GCC 和 MSVC。
- 跨平台: 设计之初即考虑 Linux, macOS 及 Windows 支持。
在项目根目录下创建 forge.toml (参考 example/sample.toml):
[package]
name = "my_project"
version = "0.1.0"
authors = ["Your Name"]
[compiler]
name = "clang"
cpp_standard = "c++20"
[dependencies.fmt]
version = "10.2.1"注:命令集目前正在定义中,详情请参阅 docs/CLI命令集.md
forge init: 初始化新项目forge build: 编译项目forge run: 运行项目forge add <pkg>: 添加依赖
src/: 源代码目录cli/: 命令行接口实现config/: 配置解析 (toml)dependency/: 依赖图解析与管理fetch/: 源码/二进制获取generator/: 构建系统文件生成 (如 CMakeLists.txt)
docs/: 设计文档与规范example/: 示例配置文件
请关注 TODO/Plan.md 了解最新开发进度。
- 实现 TOML 解析工具
- 依赖关系解析算法实现
- 自动生成基础 CMake 构建文件
- 实现基础命令行工具
本项目采用 LICENSE 许可。