Files
ccmk/README.md
Yakumo Hokori 34f8384768
All checks were successful
Rust Cross-Compile and Release / build_and_release (push) Successful in 8m40s
更新项目结构,添加新依赖,优化交互模式和命令行参数处理
2026-01-15 16:10:18 +08:00

2.4 KiB
Raw Permalink Blame History

ccmk - CMake项目生成工具

一个简单的命令行工具,用于快速生成 CMake 项目结构。

功能

  • 交互式模式 - 无参数运行时,按提示选择配置
  • 命令行模式 - 直接通过参数指定配置
  • 支持 C 和 C++ 项目
  • 支持可执行文件、静态库、共享库
  • 自动创建项目目录结构
  • 自动生成 CMakeLists.txt 和示例源代码
  • 自动处理项目名中的特殊字符

安装

cargo install --path .

使用方法

交互式模式

直接运行,按提示操作:

ccmk

命令行模式

ccmk -n 项目名 -l cpp -p exe -c 17 -o ./output

参数说明

参数 简写 说明 默认值
--name -n 项目名称 交互式必填
--lang -l 语言: ccpp cpp
--project-type -p 类型: exe, static-lib, shared-lib exe
--cxx-standard -c C++ 标准: 11, 14, 17, 20, 23 17
--output -o 输出目录 当前目录
--force - 强制覆盖已存在的目录 -

使用示例

# 创建 C++ 可执行项目
ccmk -n myapp -l cpp -p exe

# 创建 C 静态库
ccmk -n mylib -l c -p static-lib

# 创建 C++ 共享库,使用 C++20 标准
ccmk -n mylib -l cpp -p shared-lib -c 20

# 指定输出目录
ccmk -n myproject -o /path/to/output

# 覆盖已存在的目录
ccmk -n myproject --force

生成的项目结构

可执行文件

项目名/
├── CMakeLists.txt
├── include/
└── src/
    └── main.c 或 main.cpp

库类型 (static-lib / shared-lib)

项目名/
├── CMakeLists.txt
├── include/
├── src/
│   └── main.c 或 main.cpp
└── README.md

示例

交互式模式

$ ccmk
请输入项目名称My Project
请选择编程语言C++
请选择项目类型Shared Library
请选择C++标准版本17

项目已成功创建!
📁 项目结构:
   - MyProject/
     ├── CMakeLists.txt
     ├── include/
     ├── src/
     │   └── main.cpp
     └── README.md

注意事项

  • 项目名中的特殊字符会被自动移除(仅保留字母、数字、下划线、连字符)
  • 如果清理后的项目名为空,会使用默认名称 cmake_project
  • 库类型项目会自动生成 GNUInstallDirs 安装配置
  • CMakeLists.txt 使用 CMake 3.20 作为最低版本要求