cmake生成树批处理工具

cman的Python项目详细描述


VersionLicense: MITDocumentation statusLinux + OS X: Linux+OSX build statusWindows: Windows build status

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工作流!这两个 命令序列具有相同的效果(bbuild的别名):

typical cmakecmany
^{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。
  • 纯C项目(不C++)应该工作,但尚未被测试。一些 可能存在错误。

许可证

cmany可以根据MIT license获得许可。

版权所有(C)2016,Joao Paulo Magalhaes<;dev@jpmag.me>;

特此免费向任何获得 本软件和相关文档文件的副本(“软件”), 不受限制地使用软件,包括但不限于 使用、复制、修改、合并、发布、分发、再授权, 和/或出售软件副本,并允许 为此提供的软件必须满足以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或暗示,包括但不限于对于适销性的保证, 适合某一特定目的和非侵犯性。在任何情况下 作者或版权所有者应对任何索赔、损害或其他 责任,无论是在诉讼或合同中,侵权行为或其他,引起 来自、脱离或与软件、使用或其他有关 软件交易。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
检查java中两个链表之间的子集   java仅在findViewById()下显示一个ImageButton   在Java Graphics2D中,文本如何在矩形上居中对齐?   java需要一个用于电子表格计算器的正则表达式   ^java中的运算符   java通过一些属性配置文件根据环境动态更改wsdl端点URL   java Ebean/Play框架关系未更新   集合如何将POJO列表转换为Java流中的映射<String,List>?   java为什么JFrame不显示整个图像?   java如何将调用静态导入的泛型方法的结果传递给另一个方法?   迭代器或foreach中的java延迟   需要java socket logback日志接收器   在Java中初始化Map的静态数组   雅加达邮件Java MimeMail:解码后获得额外字符   java为什么这个xmldom解析器不能正确解析rtept、name和cmt标记?   java如何刷新Log4J2中的异步记录器(带中断器)   java使用构建插件pom生成的jar。xml作为同一pom中的依赖项   java基于位置的序列ADT如何在O(1)时间内插入元素?   java ORM实体与DDD实体   Java对象分配