RFC: Permanently fixing the missing Tablegen dependency issue

I started on a prototype of the #ifdef one here: ⚙ D150325 WIP: Prototype #ifdef-enforced DEPENDS on tablegen output

To simplify things, I limited it to just clang/Driver/Options.inc. I’ll admit my cmake-fu is not strong enough to completely understand @chapuni’s suggestions, and I had to make some concessions:

  • does not support transitive dependencies
  • the relationship between the new tablegen flag and add_public_tablegen_target’s argument isn’t automatic

Suggestions and/or more concrete advice are extremely welcome.