CMake executable dependency woes

I discovered that I can hack around my particular problem by placing

set_property(TARGET clang PROPERTY INTERFACE_LINK_LIBRARIES)

at the end of tools/driver/CMakeLists.txt. I'd prefer to fix this properly though,
of course.

Ultimately we do need to migrate to the new interface for `target_link_libarires` because some day CMake could (and probably should) deprecate the old syntax. If you're willing to take that task on that seems like the right solution and the best way to move forward.

-Chris

To follow up on this, I converted all uses of target_link_libraries for executable targets to explicitly use PRIVATE in r319840 (along with a bunch of follow-ups to cover cases that I’d missed initially). There are still lots of uses of target_link_libraries missing an explicit INTERFACE/PRIVATE/PUBLIC, and I’m looking into those (they’re mostly for static libraries, I believe); it just requires a bit more thought since using PRIVATE everywhere may not be correct.

Ultimately we do need to migrate to the new interface for target_link_libarires because some day CMake could (and probably should) deprecate the old syntax. If you’re willing to take that task on that seems like the right solution and the best way to move forward.

-Chris