跳转到主要内容

开源下一代构建工具。

项目描述

IRC Sourceforge Monthly Downloads Sourceforge Total Downloads Travis CI build status AppVeyor CI build Status CodeCov Coverage Status Github Actions

什么是SCons?

SCons是一个开源的软件构建工具,通过确定哪些组件需要构建或重建,并调用必要的命令来构建它们,来协调软件(以及其他有形产品,如文档文件)的构建。

功能

  • 配置文件是Python脚本 - 利用真实编程语言的力量来解决构建问题;无需学习复杂的领域特定语言。

  • 内置可靠的C、C++和Fortran依赖性分析。无需再进行“make depend”或“make clean”来获取所有依赖项。依赖性分析可以通过用户定义的其他语言或文件类型的依赖性扫描器轻松扩展。

  • 内置支持C、C++、D、Java、Fortran、Yacc、Lex、Qt和SWIG,以及构建TeX和LaTeX文档。可以通过用户定义的其他语言或文件类型的构建器轻松扩展。

  • 从源代码和/或预构建目标的中枢存储库进行构建。

  • 内置对Microsoft Visual Studio的支持,包括生成.dsp、.dsw、.sln和.vcproj文件。

  • 使用加密散列可靠地检测构建更改;可选地可以配置其他算法,包括传统的时间戳。

  • 支持并行构建 - 可以在目录层次结构无关的情况下同时运行多个作业。

  • 集成类似Autoconf的支持,用于查找#include文件、库、函数和typedef。

  • 全局查看所有依赖关系 - 无需进行多次构建遍历或重新排序目标来构建一切。

  • 能够通过缓存共享构建文件以加快多次构建。

  • 从头开始设计用于跨平台构建,已知在Linux、其他POSIX系统(包括AIX、BSD系统、HP/UX、IRIX和Solaris)、Windows 7/8/10、MacOS和OS/2上工作。

  • 使用Python编写。

文档

SCons的文档可在http://www.scons.org/documentation.html找到。

执行要求

运行SCons需要Python 3.6或更高版本。运行标准SCons不应有任何其他依赖项或要求。支持Python 3.5的最后一个版本是4.2.0。

某些实验性功能可能需要安装额外的Python包 - 目前,Ninja功能需要支持ninja包

默认的SCons配置假定在Win32系统上使用Microsoft Visual C++编译器套件,并假定在任何其他类型的系统上都有一个名为cc的C编译器、一个名为c++的C++编译器和一个名为gfortran的Fortran编译器(例如在GNU编译器集合中找到的)。您可以通过适当配置构建环境中的变量或通过在Win32系统上的Cygwin中选择“cygwin”平台来覆盖这些默认值,这将为您设置一些构建变量。

默认情况下,SCons知道如何在各种系统上搜索可用的编程工具 - 有关详细信息,请参阅SCons man页面。您可以通过适当配置构建变量来覆盖默认的SCons选择。

安装要求

SCons除了兼容版本的Python之外没有安装依赖项。用于实际构建项目的工具,如编译器、文档生产工具等,当然应该通过适当的方式安装。

使用SCons入门

如果您是SCons的新用户,用户指南的前几章提供了一个极佳的起点。SCons用户指南

为SCons做出贡献

请参阅CONTRIBUTING

许可证

SCons在MIT许可下分发,完整的副本可在LICENSE文件中找到。

报告错误

SCons项目欢迎错误报告和功能请求。

请确保您将带有问题或功能请求的电子邮件发送到SCons用户邮件列表,您可以通过以下链接加入:[SCons用户邮件列表](https://two.pairlist.net/mailman/listinfo/scons-users),或在SCons Discord服务器上的#scons-help

一旦您在用户邮件列表上讨论了您的问题,并且社区确认这是新的错误或现有错误的副本,那么请按照社区提供的说明提交新的错误报告或将自己添加到现有错误的CC列表中。

您可以在GitHub问题跟踪器上探索现有错误列表,其中可能包括您遇到问题的解决方案。

邮件列表

除了适用于几乎所有问题的scons-users列表外,还有一个专门为SCons开发者设立的邮件列表。您可以发送问题或评论到以下列表:

您可以使用以下表单订阅开发者邮件列表:[SCons开发者邮件列表](https://two.pairlist.net/mailman/listinfo/scons-dev)。

开发者邮件列表的订阅需要经过批准。实际上,没有人会被拒绝加入列表,但我们保留将来限制成员资格和/或清除潜水者的权利。

请注意,尽管这个列表仍然存在,但关于SCons的讨论地点越来越多,这意味着它已经不再是非常活跃。GitHub支持讨论和问题,Discord聊天通常更具即时性,因此现在这些可能是“开发”主题的首选地点。

捐赠

如果您发现SCons很有帮助,请考虑捐赠(现金、软件或硬件)以支持项目的持续工作。更多信息请访问https://www.scons.org/donate.html或GitHub上的Sponsors按钮:[SCons on GitHub](https://github.com/scons/scons)。

更多信息

请访问SCons网站:[SCons网站](https://www.scons.org/)

版权(c)2001 - 2024 SCons基金会

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

scons-4.8.1.tar.gz (3.2 MB 查看哈希值)

上传时间

构建分布

SCons-4.8.1-py3-none-any.whl (4.1 MB 查看哈希值)

上传时间 Python 3