Even when using the VariantDir
function,
it's more natural to use it with
a subsidiary SConscript
file,
because then you don't have to adjust your individual
build instructions to use the variant directory path.
For example, if the
src/SConscript
looks like this:
env = Environment() env.Program('hello.c')
Then our SConstruct
file could look like:
VariantDir('build', 'src') SConscript('build/SConscript')
Yielding the following output:
%ls src
SConscript hello.c %scons -Q
cc -o build/hello.o -c build/hello.c cc -o build/hello build/hello.o %ls build
SConscript hello hello.c hello.o
Notice that this is completely equivalent
to the use of SConscript
that we
learned about in the previous section.