ReferencesThere are lots of people and projects using SCons; here's what some of them have to say about it.
PlatformIO is a cross-platform code builder and the missing library manager.
Single source code - Multiple platforms!SCons is an irreplaceable software construction tool for embedded development. PlatformIO Code Builder uses it to build single source code to multiple embedded platforms.
SCons allowed PlatformIO to replace huge Makefiles by simple SCons Scripts with the several lines.
Newage-AVKSEG uses SCons in all of its embedded-control software development projects.
"Once more I have to say that I really like SCons. Being a python-newbie I managed to write some extensions that allow the usage of SCons for our Make-driven projects nearly out of the box. The first of our projects I have converted to SCons consists of 750 '#include'-Files in about 100 include-directories and 500 C/C++ sourcefiles in 76 libraries. The original MAKE-Project-setup was heavily recursive and is now substituted with a single SCONSTRUCT-file of about 120 lines of python-code. This is Great!"
NI uses SCons on a project of more than 5000 source files (.h and .cpp).
" We use SCons at work to build a huge, highly componentized project with upwards of 5000 source files. It's hands down the best experience I've ever had for building large projects."
This open source project, a graphical Secure Internet Live Conferencing (SILC) client, converted to using SCons for cross-platform builds in May 2002.
"SCons is a fantastic build system, written in Python (1.5.2) that does lots of nice things like automated dependencies, cross platform operation, configuration, and other great stuff. I would have to say that it is probably going to be the best thing for building C/C++ projects in the near future."
AI Loom is a cross-platform toolkit for rapid development of artificial intelligent agents.
"SCons is a replacement for make and is far, far, FAR better... The Loom team strongly suggests that you consider SCons for all your application development."
Sphere is a 2D RPG engine that allows people with minimal programming experience to create role-playing games like Final Fantasy VI or Phantasy Star. Sphere uses SCons to build more than 90,000 lines of code in 480 files using both MinGW and VC++ 6.0.
"SCons has made my life as a maintainer so much easier by allowing me to build and install all of Sphere's components into their correct locations, autogenerate documentation, and create an installer, all in one command."
The Aerosonde is a small long endurance UAV (Unmanned Aerial Vehicle) originally developed for meteorological sensing.
"We now use SCons for all our code builds including the avionics code for embedded targets as well as PC applications (Windows & Unix). It has been working well for us since we started using it to overcome a memory problem with makefiles."
The Computational Crystallography Toolbox is a portable, reusable scientific software library for crystallography. The project has adopted SCons for all of its cross-platform builds, as described in an update paper published in January 2003.
"Having a global view of the dependencies is really cool. Compare the couple of seconds of waiting with the need to make clean; make or make depend; make. I wasted so much time before because I forgot about certain dependencies, resulting in inconsistent builds and strange bugs. This hasn't happened to me anymore since I switched to SCons."
Evans & Sutherland produces professional hardware and software to create highly realistic visual images for simulation, training, engineering, and other applications throughout the world. E&S visual systems are used in both military and commercial systems, as well as planetariums and interactive theaters.
"SCons and Python have allowed us to create a flexible, extensible framework for organizing the automated builds of a number our products."
Cheesetracker is an Open Source electronic music program similar to Impulse Tracker and ScreamTracker, part of the Cheesetronic suite of audio and music composition applications.
"SCons does an awesome job keeping track of everything, managing components that you can switch on depending on what you want to compile, etc. But most importantly, being Python based we can do customization to a degree of freedom and ease that the autotools package would never allow us! ... [T]hanks for such an awesome build system!"
Earlier while using Makefiles I used about 20 different makefiles with about 1000 lines of make code... I switched to SCons a few weeks back and had the basics up and running in very little time. This week I polished the SConscript/SConstruct files more to my liking and now it works really well. The code to do this uses two files (SConstruct and a SConscript) files at about 190 lines of code! Any number of variants were easy to handle and the approach to this was much cleaner than my way of handling it with make. Since it's all Python, the syntax is not a problem at all. The scripts are elegant and fairly easy to understand. Its remarkable that almost all that I was doing with my makefiles could be handled in so little code.
This package of game level design tools converted their Linux builds from Cons classic to SCons in July 2003.
IPLT provides a C++ image processing library, Python wrappers, and a wxWindows-based GUI. The project started using SCons for builds in July 2003.
The Research Technology Facility of NCAR's Atmospheric Techology Division is using SCons to build a project with 750 files and 38 subdirectories.
"We replaced an autoconf/automake environment that had been a real challenge to maintain. SCons's auto-dependency features have been great -- I now have confidence that my libraries are rebuilt when needed."
Doom3 Linux's build system uses SCons.
"CC="ccache distcc g++-3.3" JOBS=8 rocks!"
Dicomlib is an all-new dicom library with the goal of "providing a clean, simple API, close adherence to the DICOM standard and rigorous type safety." Dicomlib uses SCons for its UNIX builds.
"...[my] experience is that SCons is so much more powerful and easier to work with than make that it is definitely worth it."
FEAR is a language-independent open source project for creating artificial intelligence within realistic simulated world (game) environments. FEAR uses SCons for all of its build and packaging.
"SCons is a truly awesome tool that offers power and flexibility second to none... Within days of introducing SCons, it already replaced the various tools and Visual Studio files. Now it handles things such as generating source code from templates, compiling C++ files, building release packages, extracting and generating documentation, among many other things."
madman is a music manager application similar to Apple's iTunes and the like. madman began using SCons for its builds in December 2003.
Rekall is a database front end associated with the KDE desktop environment. Rekall has begun converting their build process to SCons with their 2.3.0-Beta0 release.
Blender is an Open Source software package for 3D modeling, animation, rendering, post-production, interactive creation and playback. The Blender Foundation announced that Blender has been using SCons since January 4, 2004 to build Blender on Linux, Windows (using both Microsoft Visual C and Cygwin), Solaris, Mac OS X, IRIX and OpenBSD.
DIANE is a lightweight distributed framework for parallel scientific applications in master-worker model. Some of the applications include: Simulation for Radiotherapy and Astrophysics, BLAST for Genome Sequencing, Data Analysis for High Energy Physics and Image Rendering. It is a thin software layer which easily works on top of more fundamental middleware such as LSF, PBS or the Grid Resource Brokers. It may also work in a standalone mode and does not require any complex underlying software. Applications may be run in local clusters or on the Grid without any special modifications. DIANE is using SCons primarily to build extension modules for Python.
Strinx is a string library written in C++ using modern template techniques, designed to be efficient and easy to use.
"I would like to take this opportunity to thank the SCons development team for their wonderful build tool. Without it, the development of the Strinx library would be much more difficult."
Of course, SCons uses itself to build and package SCons.