SCons:一种软件构建工具

什么是SCons?

SCons是一种开源软件构建工具。可以将SCon视为经典Make实用程序的一种改进的跨平台替代品,它具有类似于autoconf/automake和ccache等编译器缓存的集成功能。简而言之,SCon是一种更容易、更可靠、更快的构建软件的方法。

是什么让SCon变得更好?

  • 配置文件是Python脚本——使用真实编程语言的强大功能来解决构建问题。
  • 为C、C++和Fortran内置的可靠、自动的依赖关系分析——不再需要“makedepend”或“makeclean”来获取所有依赖关系。通过用户定义的其他语言或文件类型的依赖关系扫描程序,可以轻松扩展依赖关系分析。
  • 对C、C++、D、Java、Fortran、Yacc、Lex、Qt和SWIG的内置支持,以及构建TeX和LaTeX文档。通过其他语言或文件类型的用户定义构建器轻松扩展。
  • 从源代码和/或预构建目标的中央存储库构建。
  • 对Microsoft Visual Studio的内置支持,包括生成.dsp、.dsw、.sln和.vcproj文件。
  • 使用MD5签名可靠地检测构建更改;对传统时间戳的可选、可配置支持。
  • 支持并行构建——如make-j,但无论目录层次结构如何,都可以同时运行N个作业。
  • 集成的类Autoconf支持查找#include文件、库、函数和typedef。
  • 所有依赖项的全局视图——不再需要多个构建过程或重新排序目标来构建所有内容。
  • 能够在缓存中共享构建的文件,以加快多个构建的速度——像ccache一样,但适用于任何类型的目标文件,而不仅仅是C/C++编译。
  • 为跨平台构建从头开始设计,已知可在Linux、其他POSIX系统(包括AIX、BSD系统、HP/UX、IRIX和Solaris)、Windows 7/8/10、MacOS和OS/2上运行。

SCons来自哪里?

SCons最初是作为ScCons构建工具设计而诞生的,它在2000年8月赢得了软件木工SC构建竞赛。该设计基于Cons软件构造实用程序。此项目已重命名为SCons,以反映它不再与Software Carpentry直接连接(好吧,这样做,并使其更容易键入…)。