Metadata-Version: 2.4
Name: pycmakebuild
Version: 0.2.9
Summary: 批量构建CMake工程的Python工具，支持build.json配置和命令行批量编译
Author-email: PatchLion <747497016@qq.com>
License: MIT
Project-URL: Homepage, https://gitee.com/PatchLion/pycmakebuild
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: python-dotenv
Requires-Dist: cmake<4.0,>=3.0

# pycmakebuild

Python CMake 批量构建与自动化工具，支持通过 build.json 配置文件和命令行批量编译多个 CMake 项目，适用于跨平台 C++/第三方库工程的自动化批量编译。

## 功能特性
- 支持 build.json 配置批量管理和编译多个 CMake 项目
- 支持 Debug/Release 等多种构建类型，支持自定义 CMakeLists.txt 子目录
- 支持命令行一键初始化环境、生成模板、批量构建
- 自动推断 CMake 构建参数，兼容 Windows/Linux/Mac
- 支持通过 `python -m pycmakebuild` 或 `pycmakebuild` 命令行调用

## 快速开始

### 1. 安装
```bash
pip install pycmakebuild
```


### 2. 初始化环境和模板
```bash
python -m pycmakebuild --init
```
将在当前目录生成 .env 和 build.json 模板。

### 3. 编辑 build.json
示例：
```json
{
  "sources": [
    {
      "path": "../Log4Qt",
      "name": "log4qt",
      "build_types": ["Debug", "Release"],
      "cmakelists_subpath": ".",
      "other_build_params": ["-DCUSTOM_OPTION=ON"]
    }
  ]
}
```
- `path`: CMake 项目源码路径
- `name`: 目标名称（安装目录名）
- `build_types`: 构建类型数组（如 Debug/Release）
- `cmakelists_subpath`: CMakeLists.txt 所在子目录（可选，默认"."）
- `other_build_params`: 传递给 cmake 的额外参数列表（如 ["-DCUSTOM_OPTION=ON"]，可选）

### 4. 批量构建
```bash
python -m pycmakebuild --build
```
或直接
```bash
python -m pycmakebuild
```
会自动检测当前目录下 build.json 并批量构建所有配置项目，支持自定义 cmake 参数。

### 5. 批量更新源码（git工程）
```bash
python -m pycmakebuild --clean
```
### 5. 批量更新源码
更新所有 build.json 中配置的项目源码，不会删除安装目录。

## 命令行参数
- `--init`  初始化环境和 build.json 模板
- `--build` 强制根据 build.json 批量构建
- `--clean` 清理所有 build.json 配置的项目源码（git clean/pull）

## 依赖
- python-dotenv：环境变量管理
- cmake：Python CMake 封装

## 典型应用场景
- 本地一键环境初始化默认构建环境与批量编译CMake三方库

## License
MIT
