C++项目的简易构建工具

clang-build的Python项目详细描述


叮当-构建

Linux和OSX测试: 测试状态travis测试状态应用程序 代码质量: Codacy覆盖范围

https://thumbs.gfycat.com/beitchedashameddeermouse-size

在https://clang-build.readthedocs.io上查找完整文档

动机:

  • 从源代码中构建尽可能多的代码可以简化依赖性管理,并确保稳定性和可重复性
  • 元构建系统本质上是错误的,要么构建系统要么编译器应该与平台无关(理想情况下两者都是)。
  • 试图覆盖所有用例是错误的做法-没有必要让人们以错误的方式来做这件事
  • CMake繁琐,不必要的泛型和冗长,人们不需要编程/脚本语言,其唯一目的是构建C++
  • 使用clang,最终会出现一个正确的跨平台编译器

目标:

  • 一个编译器(clang),一个构建系统(用python编写)
  • 简单的项目应该易于构建
  • 为合理的项目结构建立过程仍然应该很容易
  • 添加第三方依赖项应该是可管理的

它不是用来做什么的:

  • 除了C语言方言之外,还可以构建其他语言
  • 能够适应世界上任何项目结构-鼓励采用某些标准
  • 顺利使用或定位由系统包管理器安装的预构建库和库

相关资源:

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

推荐PyPI第三方库


热门话题
java Apache Flink外部Jar   创建和强制转换对象数组时发生java错误   Java,添加数组   具有相同包结构和类的java JAR   java Jenkins未能构建Maven项目   java为什么一个forloop比另一个更快,尽管它们做的“一样”?   servlets在将“/”站点迁移到Java EE包时处理contextpath引用   无法解析java MavReplugin:2.21或其某个依赖项   泛型如何编写比较器来泛化Java中的两种类型的对象?   java Android Emulator未在netbeans上加载   多线程Java使用线程对数组中的数字求和:在同步块中使用新变量作为锁:差异   java如何在JSP/servlet中设置<input>标记的值?