I think this is because you are using a function SCons VariantDir()that causes SCons to look in the assembly directory. Ive never seen him use source directories and variant_dir.
VariantDir() , SConscript(). SConscript() SConstruct, variant_dir VariantDir(), :
SConscript('src/SConscript', variant_dir='build', duplicate=0)
src/SConscript :
import os
lib = 'staticLib'
SConscript(os.path.join(lib, 'SConscript'),
variant_dir=os.path.join(lib, 'build'),
duplicate=0)
Program( 'test',
'test.cpp',
CPPPATH = lib,
LIBS = lib,
LIBPATH = lib )
, scons, BTW :
$ scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
g++ -o build/staticLib/classInStaticLib.o -c src/staticLib/classInStaticLib.cpp
ar rc build/staticLib/libstaticLib.a build/staticLib/classInStaticLib.o
ranlib build/staticLib/libstaticLib.a
g++ -o build/test.o -c -Ibuild/staticLib -Isrc/staticLib src/test.cpp
g++ -o build/test build/test.o -Lbuild/staticLib -Lsrc/staticLib -lstaticLib
scons: done building targets.
$ tree build/
build/
|-- staticLib
| |-- classInStaticLib.o
| `-- libstaticLib.a
|-- test
`-- test.o
1 directory, 4 files
, SCons , . variant_dir . , , .