When building from source, all build system targets are global. When you bring something in via find_package()
, you’re not building it (well, you can be these days with things like the find_package()
and FetchContent integration, but that’s a relatively recent feature). Building versus importing are completely different operations. There’s not even any requirement that they produce the same things, although a well-behaved project should provide the same set of documented targets.
You’re getting into the territory of “what goes into a package”, which is a very different question to “how do I build this, and what does the build produce”.