Description
This issue was originally created at: 2002-05-13 20:20:34.
This issue was reported by: issues@scons
.
issues@scons said at 2002-05-13 20:20:34
If you use BuildDir() with duplicate=0, and you have a
CPPPATH that specifies a relative path name in the
build tree, that path does not get transformed into a
sourcepath when the $_INCFLAGS variable is generated.Example from a user that exposes this problem:
Here's a simple test-case, which demonstrates the
problem ..../SConstruct
BuildDir('Binaries/Output', 'Source', 0)
SConscript('Binaries/Output/SConstruct')./Include/HeaderFile.h
empty file
./Source/SConstruct
env = Environment(CPPPATH=['../Include'])
env.Library(target='Library', source=['Source.cpp'])./Source/Source.cpp
#include <HeaderFile.h>
The example generates the following command-line on my
computer ...cl /nologo /IBinaries\Include /c
Source\Source.cpp /FoBinaries\Output\Source.objAs you can see, the include-path isn't a valid path,
so the compilation fails.This appears to be due to the fact that, since Dir
nodes set their builder attribute to 1 always, they
always report their build path from str(), instead
of their source path as expected.
issues@scons said at 2002-05-13 20:20:34
Converted from SourceForge tracker item 555742