When generated xyzConfig.cmake files do find_package, you can get recursively duplicated -I paths, etc.
So for example when building icaruscode, we were getting a command line too long error on the compiles, because we had cetlib-except's -I flag 638 times, hep-concurrency 541 times, cetlib's 319 times, etc.
and cmake was for example finding Boost 397 times...
The solution is to include-guard the xyzConfig.cmake files; which Patrick was already doing by hand
after the fact with an if-style include guard; but it turns out cmake provides an include_guard()
I've made a feature/include_guards branch which does this; I think you can just roll it in.