CMake构建树批处理工具
项目描述
轻松批处理构建cmake项目!
cmmany 是一个命令行工具,可以轻松构建CMake C/C++项目的各种变体。它结合了不同的编译器、cmake构建类型、编译器标志捆绑包、处理器架构和操作系统。这些项目中的每个项目也可以具有相关的编译器标志。
例如,要配置和构建一个结合clang++和g++,同时具有调试和发布的项目
$ cmany build -c clang++,g++ -t Debug,Release path/to/CMakeLists.txt
上面的命令将产生四个不同的构建树,默认放置在当前工作目录下的 build 子目录中
$ ls build/* build/linux-x86_64-clang++3.9-Debug build/linux-x86_64-clang++3.9-Release build/linux-x86_64-gcc++6.1-Debug build/linux-x86_64-gcc++6.1-Release
每个构建树都是通过首先使用每个组合中的项目配置项目,然后调用 cmake --build 来一次性构建项目获得的。
您还可以仅使用cmany来简化您的cmake工作流程!这两个命令序列具有相同的效果(b 是 build 的别名)
典型的cmake |
cmmany |
---|---|
$ mkdir build
$ cd build
$ cmake ..
$ cmake --build .
|
$ cmany b
|
功能
使用一条简单的命令轻松配置和构建项目的许多变体。
自动保存手动处理多个构建树既繁琐又容易出错的工作。
合理的默认设置:使用 cmany build 将创建并使用 CMake 的默认值构建单个项目。
透明地传递标志(编译器标志、处理器定义或 cmake 缓存变量)到任何或所有构建中。
对构建比较和基准测试很有用。您可以轻松设置标志包,即变体。
对使用不同编译器和标志验证和单元测试您的项目很有用。
对创建项目发行版很有用。
当更改构建类型时避免完整重建。尽管多配置 CMake 生成器(如 Visual Studio)已经具有此功能,但单配置生成器(如 Unix Makefiles)则没有。
在每一个构建树或安装树中运行任意命令。
完全控制构建项的组合方式。
更多信息
支持
Gitter 房间:https://gitter.im/cmany_/community。
将错误报告发送至 https://github.com/biojppm/cmany/issues。
将拉取请求发送至 https://github.com/biojppm/cmany/pulls。
当前状态
cmany 处于 alpha 状态,正在开发中。
限制和已知问题
cmany 会调用它所接收的编译器以查找其名称和版本。到目前为止,这已经在 Visual Studio、gcc(包括 arm-linux 和 mips-linux 的对应版本)、clang、icc 和 zapcc 中成功实现。然而,当前实现名称和版本的猜测是脆弱的,可能在未测试的一些编译器中失败。如果您发现此类失败,请提交错误报告或 PR。
尽管 cmany 在 OS X 上使用 gcc 和 clang 也能工作,但尚未测试使用 Xcode。如果您有兴趣使 cmany 与 Xcode 一起工作,请与我们联系。
纯 C 项目(即不是 C++)应该可以工作,但尚未进行测试。可能存在一些错误。
许可证
cmany 采用 MIT 许可证进行许可。
版权(c)2016,Joao Paulo Magalhaes <dev@jpmag.me>
在此特此授予任何获得本软件及其相关文档文件(“软件”)副本的人免费处理该软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本的权利,并允许向软件提供软件的人这样做,前提是以下条件
上述版权声明和本许可声明应包含在软件的副本或主要部分中。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、针对特定目的的适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论这些责任是由于合同、侵权或其他方式引起的,与软件或软件的使用或其他交易有关。
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
cmany-0.1.4.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f08050086d7856fff06c606c8c9214c5e807b41f93e23307617106bfdf7986fb |
|
MD5 | de3b08d7caa9bd1594bcb9fbeb18b744 |
|
BLAKE2b-256 | 11a1a6c6414c420128eafc11bb83acd0d8ec8dfc0eb7357f5d2180302ad97f8a |
cmany-0.1.4-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6397ca08815b31d1e84ab4224bbb85ef33a2c724faa75db21fd0975914de3df1 |
|
MD5 | 51212449587da4940b5c352a992f8c44 |
|
BLAKE2b-256 | 3a95af7a5b47305732f03bb94a496bd884fbd9b571798b0010a93e93224c0833 |