compiler.preprocess()

Dependencies keyword argument can now be passed to compiler.preprocess() to add include directories or compiler arguments.

Generated sources such as custom targets are now allowed too.