SCons / scons

SCons - a software construction tool
http://scons.org
MIT License
2.11k stars 319 forks source link

Compilation database displayed incorrectly with `--tree` #4639

Open rico-chet opened 1 week ago

rico-chet commented 1 week ago
$ scons --tree=all compile_commands.json
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
Building compilation database compile_commands.json
+-compile_commands.json
  +-[<SCons.Node.FS.File object at 0x3ddc6a50>]
  +-[<SCons.Node.FS.File object at 0x3ddc8680>]
scons: done building targets.

should rather be this:

$ scons --tree=all compile_commands.json
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
Building compilation database compile_commands.json
+-compile_commands.json
  +-main.cpp
  +-another.cpp
scons: done building targets.

Seems like __CompilationDbNode is missing a __str__() method, or its base class is not the right one.

edit:

I believe that the SCons-generated compile_commands.json should show no dependencies but the SCons{script,truct} file, if at all.

mwichmann commented 1 week ago

I think normally, Value (Python) nodes don't get included in the tree?