Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
cmake: add aliases so exported target names are available in tree. #5206
One of the common patterns in CMake 3.x is the "superbuild" pattern, where the source trees of a dependencies are nested under a master project. In order for the projects to be modular (be agnostic to whether or not the dependencies are nested or not), the in-tree build process needs to generate the same targets as finding the dependencies out of tree. For example:
Using find_package to find cURL will create the CURL::libcurl target, but adding the source code directly only adds libcurl. Aliasing libcurl to CURL::libcurl lets you keep the target_link_libraries line the same regardless of the source of the dependency.