If you need to find the directory from
which the user invoked the scons command,
you can use the
env = Environment( LAUNCHDIR = GetLaunchDir(), ) env.Command('directory_build_info', '$LAUNCHDIR/build_info' Copy('$TARGET', '$SOURCE'))
Because SCons is usually invoked from the top-level
directory in which the
SConstruct file lives,
is often equivalent.
However, the SCons
when invoked from a subdirectory,
will cause SCons to change to the directory
in which the
SConstruct file is found.
When those options are used,
GetLaunchDir will still return the path to the
user's invoking subdirectory,
to still get at configuration (or other) files
from the originating directory.