cmake-init
:缺失的CMake项目初始化器
cmake-initThe missing CMake project initializer项目地址:https://gitcode.com/gh_mirrors/cm/cmake-init
cmake-init
是一个有观点的CMake项目初始化工具,能生成准备就绪的FetchContent项目,区分消费者和开发者目标,并提供符合规范的可重定位CMake包,且支持现代CMake(3.14+)。通过其详细文档和丰富的功能示例,如包管理器、模糊测试、超级构建等,为CMake开发带来极大便利。
简单易用
只需按回车键,就可以快速设置正确的项目,不论是创建可执行文件还是头文件库。想要静态或共享库?在提示时选择相应的选项即可。简单而正确!
创建FetchContent就绪项目
cmake-init
的重要特性是创建可用于未来CMake轻松消费其他项目的项目结构,如同JavaScript中的npm一样。
清晰分离开发者和消费者目标
考虑到开发者和消费者的差异需求,cmake-init
将目标分开,使得开发者可以运行测试、添加警告标志、运行基准测试,而消费者,如包维护者,只需简单构建库或可执行文件,无需修改CMake脚本。
利用现代CMake
采用最新的CMake版本,避免了过时和错误的示例,推动CMake最佳实践的发展。
便捷工具集成
代码覆盖率(gcov)、代码检查(clang-tidy)、静态分析(clang-tidy)和动态分析( sanitizers, valgrind)等功能均便于使用,助力编写更高质量的软件。
相关演讲
- Kenneth Hoste - 如何让包管理器哭出来
- Robert Schumacher - 不要打包你的库,写出可打包的库!(第一部分)
- Robert Schumacher - 不要打包你的库,写出可打包的库!(第二部分)
- Craig Scott - 深入CMake为库作者
安装要求
确保已安装以下程序:
- Python 3.8 或更高版本
- CMake 3.20 或更高版本(3.21 或更高版本用于C17或更新的项目)
- Git
- clang-tidy 14(可选)
- cppcheck(可选)
- Doxygen < 1.9(可选)
- LCOV(可选)
- clang-format 14(可选)
- codespell(可选)
- 包管理器:Conan 或 vcpkg(可选)
该包可以从PyPI下载,使用pip
进行安装:
pip install cmake-init
集成工具
clang-tidy
:一个静态分析工具,帮助您在编译前发现代码逻辑错误。cppcheck
:类似于clang-tidy
,但两者的检测范围区别大,两者结合使用效果更好。Doxygen
:从注释源码生成文档的工具,配合[m.css][11]呈现专业外观的文档。LCOV
:处理由GCC的gcov
工具生成的覆盖率信息,以查看程序中哪些部分被执行。clang-format
:代码格式化和检查工具,有助于强制实施编码风格指南。codespell
:查找并修正源码中的拼写错误。
使用方法
cmake-init [--c] <路径>
:在指定位置创建CMake项目,并根据提示进行配置。-s
、-e
、-h
参数分别快速创建共享库、可执行文件和头文件库。加上--c
参数,将项目类型设置为C语言。cmake-init --help
:显示帮助屏幕,查看更多标志和开关。
许可证
cmake-init
是自由软件,您可以在GNU General Public License v3的条款下自由使用、学习、分享和改进。cmake-init/templates
目录的内容采用Unlicense许可。
立即尝试cmake-init
,让您的CMake项目启动和运行更加顺畅,提升开发体验!
cmake-initThe missing CMake project initializer项目地址:https://gitcode.com/gh_mirrors/cm/cmake-init