Interested Article - SCons
- 2020-01-25
- 1
SCons — инструмент для автоматизации сборки программных проектов, разработанный как замена утилиты make с интегрированной функциональностью аналогичной autoconf / automake . SCons автоматически анализирует зависимости между исходными файлами и требования адаптации к операционной системе исходя из описания проекта, и генерирует конечные бинарные файлы для установки на целевую ОС.
SCons использует язык Python в качестве основы, поэтому конфигурация проектов и инструменты для управления процессом сборки являются сценариями на Python.
Возможности
- являются сценариями на языке Python , что позволяет использовать все возможности этого языка программирования .
- Встроенная поддержка C , C++ , D , Java , Fortran , Objective-C , Yacc , Lex , Qt и SWIG . Возможность генерации документов TeX и LaTeX . Поддержка других языков или форматов файлов может быть реализована с помощью пользовательских сборщиков ( builders ).
- Для языков C , C++ и Fortran автоматически анализируются зависимости. В отличие от make не нужно отдельно выполнять команду make depend .
- Сборка из репозиториев систем контроля версий .
- Встроенная поддержка получения исходных кодов из SCCS , RCS , CVS , Subversion , и Perforce .
- Поддержка проектов Microsoft Visual Studio .NET и более ранних версий Visual Studio, с возможностями генерации файлов .dsp, .dsw, .sln и .vcproj.
- Обнаружение изменения содержимого файлов по контрольным суммам MD5 , наряду с традиционным обнаружением изменений по времени записи файла.
- Возможность параллельной сборки.
- Встроенная возможность поиска необходимых для сборки файлов (#include файлы, библиотеки, и т. д.).
- Способность кеширования собираемых файлов для ускорения параллельной сборки — подобно ccache , но для любых типов файлов.
- Изначальная поддержка кроссплатформенности. В настоящее время работает в Linux и др. POSIX -системах ( AIX , *BSD systems , HP-UX , IRIX , Solaris ), Windows NT , Mac OS X , OS/2 .
Пример использования
В самом простом варианте файл SConstruct будет содержать всего одну строку
Program('main.c')
При выполнении команды scons из файла main.c будет сгенерирована программа main (в Linux ) или main.exe (в Windows ).
История и связанные проекты
Проект SCons стартовал под именем ScCons и выиграл конкурс SC Build в августе 2000. Прототипом послужила утилита .
SCons послужил прототипом для проекта Waf , первоначально известного под именем «SCons/BKsys» и рождённого в сообществе KDE . Некоторое время его планировали использовать для KDE4 и последующих версий, но от этой идеи отказались в пользу CMake . от 7 мая 2011 на Wayback Machine
Программные проекты, использующие SCons
- Ardour
- Battlefield 1942
- Blender
- Csound
- Delta3D
- Doom 3
- FCEUX
- Godot
- Google Chrome
- GtkRadiant
- id Software
- MongoDB
- Nullsoft Scriptable Install System
- NumPy и SciPy
- SuperCollider
- V8
- VMware
Примечания
- . из оригинала 21 августа 2022 . Дата обращения: 21 августа 2022 .
- Kegel, Daniel . Google Code (3 апреля 2009). Дата обращения: 21 июля 2009. Архивировано из 20 марта 2012 года.
- (30 июня 2008). Дата обращения: 28 декабря 2009. Архивировано из 28 сентября 2011 года.
См. также
Ссылки
- (англ.) . — Официальная страница проекта. Дата обращения: 5 февраля 2009. Архивировано из 20 марта 2012 года.
- C. Axnix; T. Hendel, M. Mueller, A. Nuñez Mencias, H. Penner, and S. Usenbinz.: . IBM Research (6 декабря 2006). Дата обращения: 11 ноября 2008. 24 июня 2007 года.
- 2020-01-25
- 1