17.5. Using VariantDir With an SConscript File

Even when using the VariantDir function, it's much more natural to use it with a subsidiary SConscript file. 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.