SCons is a very versatile package. Using SCons we're able to configure our environment on different levels easily.
Almost everything is straight-forward and easy to use. Plus, many people are using it which means potential blocking points are easily passed. Review collected by and hosted on G2.com.
I'd like to have a deeper understanding of the implementation of the package, hence a more detailed documentation will come in handy. I'd like to have a deeper look into what other uses this package could have. Review collected by and hosted on G2.com.
Scons uses OO python because of which it's very easy to create new target build scripts with the provided API. It is also very extendable and can fine tuned for particular use as well if default is not sufficient. Review collected by and hosted on G2.com.
The dependency graph generated is not that good for a large project which can lead to long compilation times. Review collected by and hosted on G2.com.
It's design / architecture has the right concepts of a (generic) builder: Target, Dependencies, Nodes, Toolset, Builder, Scanner, Environments, Configure Checks.. and it does it as a Python module, the right language for the task.
That means that any task that you will need to do building your project has already a good concept to represent it and most probably already an implementation of it that does it, and also that you don't need to know any new language/syntax, but just an API/Module of a well-known language that is cross-platform by nature. Review collected by and hosted on G2.com.
Unfortunately, its community was not as big as its competitors (mainly CMake) and it felt like I was using a much better technology than most of the projects, but that it won't last because for some reason it's not properly known in the industry. Review collected by and hosted on G2.com.
Scons is a build system written in Python, and build scripts are written in Python. This is a good thing as it gives you the debugging flexibility tou can’t find in other build systems. Anybody can use Python so anybody can maintain a Scons build system, in principle.
Scons is amazingly powerful, but it allows you to diverge a lot from its intended use. If you don’t do things the Scons way, you will soon run into trouble.
It is also good in maintaining a correct build, if you use it right. It is easy to create custom commands to automate common tasks. Again, Python is the real power here. Review collected by and hosted on G2.com.
Scons is very slow. Some vague concepts . Review collected by and hosted on G2.com.
I'd like portability as this build system will work anywhere for you where you can run python interpreter. No other dependency involved except of course you build chain. Review collected by and hosted on G2.com.
Some errors are about python but they really about wrong use of Scons API. Review collected by and hosted on G2.com.
I have used scons in one of my project...very easy to use and write your own build system if u are aware of python....very easy and handy tool Review collected by and hosted on G2.com.
Nothing as such....i have found it very easy to use. Review collected by and hosted on G2.com.
It's well thoughtful design, I can debug build script. It utilizes multi core machines easily. Review collected by and hosted on G2.com.
It's complex, for new users. I didn't find templates for most use cases like in Cmake. It requires some work for even simple project, but the code written well will bring fruits in future. Review collected by and hosted on G2.com.
Its so much simpler to use than GNU Make or CMake. Because its Python, it can be broadly adopted and supported by most software engineers. Review collected by and hosted on G2.com.
The trade-off of its simplicity is that you must refer to the documentation for weird edge cases. Because the documentation is very good, this is seldom an issue. Review collected by and hosted on G2.com.
Scons was great for several reasons, especially for large low-level systems components. It was easy to map makefiles to Scons build files. Coming from a recursive make design it resulted in significantly more consistent code builds. The footprint of the build code was shrunk by over 80% and it would build faster. The biggest gain was dependencies were properly discovered which meant it built once instead of several times, as it had before. Review collected by and hosted on G2.com.
Some difficulties were encountered when trying to build projects where there weren't builders already defined, so extending Scons can be a pain. Review collected by and hosted on G2.com.
SCons is python based and is easy to extend by adding custom builders and generators. It gives fine grained control over the build logic where one can explicitly define build targets, their sources and series of steps to follow in order to build those targets. Review collected by and hosted on G2.com.
SCons can sometimes lead to circular dependencies errors, if the code is not programmed logically. Review collected by and hosted on G2.com.
Solid choice for a big project. If needed it can be easily adapted and changed. You can also make build systems on top of it. Review collected by and hosted on G2.com.
Build times can be a bit long when integrated with code generators and multiple compilers. Review collected by and hosted on G2.com.
I like the following features of Scons.
- the speed
- reliability
- easy to use
- ability to run multiple tasks in parallel
Review collected by and hosted on G2.com.
I have been using 'Make' framework for a long time. Then for one of the new projects, I had to use 'Scons' framework. Coming from 'Make' background, and since Scons provide so many features, it took sometime to get familiarized with Scons concepts, etc. The initial time to learn about Scons is little bit more. Review collected by and hosted on G2.com.
Python. Anything we want with the build system, can be scripted in python. Instead of going with some new language (looking at you cmake), this tried and tested method works very well. As it is built on python, it supports most of the common platforms, many compilers and targets out of the box. On top of it, scons-local can be distributed with the project, one less dependency is always a benefit. One advantage scons has over others that it builds the targets, not just the build-files, unlike cmake. Review collected by and hosted on G2.com.
The biggest problems of scons lies with python. While some adore python, the usefulness of its indented syntax is up for debate. Then again, as python is slow compared to compiled build tools, the build system itself gets slow for larger projects. Compared to other build systems, even for some of the common tasks we need to write custom scripts. Scons is built around the idea of a build directory, need to go large lengths to avoid this. Review collected by and hosted on G2.com.