Well i have a build setup of 2 projects, one project takes .xml files from a directory and processes them into header files. These files are then used by the second project. Is there any way to check if his project needs to be re-run (the .xml files were modified or a new one was added)?
Just combine the two projects into one common source tree, and one single SConstruct (with as many SConscripts as you like in the subfolders, that get included by SConscript(file) ).
Then ensure that the header files in the include/ folder are always tried to be built, e.g. by adding them as default targets with env.Default().
SCons will only call each conversion .xml->.h when the corresponding source XML file has changed its content.