Command line options

To get a list and descriptions of all available options:

scons -u --help

SConsider options

--baseoutdir The output directory of the build
--exclude Directory containing a SConscript file that should be ignored
--usetool Use additional SCons tool to add functionality and/or options
--appendPath Directory to append to PATH environment variable
--prependPath Directory to prepend to PATH environment variable

Build options

--with-cxx To override the used compiler, fully qualified path and name to gnu g++ compiler
--with-cc To override the used compiler, fully qualified path and name to gnu gcc compiler
--archbits Select target bit width (if compiler supports it), default: 32
--build-cfg Select build configuration, available values debug, optimized (default), profile
--warnlevel Select compilation warning level, available values none, medium (default), full
--no-stdiostream Disable use of std libraries iostream headers
--no-largefilesupport Disable use of std libraries iostream headers

Coast options

--enable-Trace Enable compiling of trace support, (StartTrace, Trace,...), see Dbg.h for details
--env-cfg Define directory name to use for location dependent files, defaults to hostname. When a config file gets copied and a corresponding file exists below this directory, it will be used instead of the original one. This allows to define configuration settings appropriate for the current environment

Doxygen options

The documentation is created per package, but contains the documentation of all its dependencies except 3rparty packages which are linked using Doxygen's tagfiles.

--doxygen Create documentation
--doxygen-only Exclusively creates documentation and skips all other build steps

Using those two options with a concrete target creates a separate documentation for each package which is involved in the build. Using the options with the all alias target (or without a target at all) creates a global documentation.

Run options

--run Runs targets with runConfig if involved in the build, a test is run only if it did not succeed before
--run-force Runs the given build targets, ignoring any test results
--runparams Paramters to pass to the run targets

For a runConfig.type of 'test' the default is --runparams='-- -all'
To run under gdb controll call e.g.:

scons -u CoastFoundationTest --run-force --runparams='-d -- -all'

The additional double dash (--) seem to look strange at first sight, but it is there to distinguish between parameters of the wrapper script and parameters of the actual binary.

Target Printer options

SCons has the option --tree to list the whole dependency tree involved in the build. To show only dependencies between packages and their targets we've introduced the following options.

--showtargets List of available targets
--showtree List of package/target dependencies
--showallaliases Show all defined aliases

Package options

This tool searches for dependencies of the build targets and copies them together into one tree.

--package Existing directory (absolute path) where the package should be created

Create Eclipse working sets

This tool creates Eclipse working sets for the build targets according according to their project dependencies. Restart Eclipse in order to reload the working sets.

scons -u --usetool=WorkingSetWriter --workspace=/home/dwild/workspaces/coast --help