cmake生成树批处理工具
cman的Python项目详细描述
Linux + OS X: | Windows: |
Cmany
轻松批量创建CMAKE项目!
cmany是一个命令行工具 构建CGEDC/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的别名):
typical cmake | cmany |
---|---|
^{tt5}$ ^{tt6}$ ^{tt7}$ ^{tt8}$ | ^{tt9}$ |
功能
- 使用一个 简单的命令。
- 通过 手。
- 合理的默认值:cmany build将创建和构建单个项目 使用cmake的默认值。
- 透明传递标志(编译器标志、处理器定义或cmake缓存 变量)。
- 有助于建立比较和基准。您可以轻松设置捆绑包 旗,又名变体。
- 对于使用不同的 编译器和标志。
- 对于创建项目的发行版很有用。
- 避免在生成类型更改时完全重新生成。尽管这个功能 已经在多配置的CMAGE生成器如VisualStudio中存在, 它在mono配置生成器(如unix makefile)中丢失。
- 在每个生成树或安装树中运行任意命令。
- 完全控制如何组合生成项。
- Emacs集成!https://github.com/biojppm/cmany.el
当前状态
cmany目前处于alpha状态。
已知问题
- cmany调用给定的编译器来查找它们的名称和版本。所以 目前,这已经成功地与visual studio、gcc(以及arm linux和 MIPS Linux同行)、Clang、ICC和Zapcc。然而,目前 用于猜测名称和版本的实现是脆弱的,可能在 一些未经测试的编译器。请提交一个错误或公关,如果你 看到这样的失败。
- 尽管cmany在os x中与gcc和clang一起工作,但是使用xcode还没有 已经测试过了。如果你有兴趣让我去工作,请联系我 用xcode。
许可证
cmany可以根据MIT license获得许可。
版权所有(C)2016,Joao Paulo Magalhaes<;dev@jpmag.me>;
特此免费向任何获得 本软件和相关文档文件的副本(“软件”), 不受限制地使用软件,包括但不限于 使用、复制、修改、合并、发布、分发、再授权, 和/或出售软件副本,并允许 为此提供的软件必须满足以下条件:
上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。
软件按“原样”提供,不作任何形式的保证 或暗示,包括但不限于对于适销性的保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在诉讼或合同中,侵权行为或其他,引起 来自、脱离或与软件、使用或其他有关 软件交易。