Open
Description
Describe the bug
Packages such as e.g. openssl and curl, when used with CMake, differ from upstream:
- FindOpenSSL module bundled with CMake means
find_package()
only works when looking for package named "OpenSSL" (NOT "openssl"); imported targets are named "OpenSSL::Crypto" and "OpenSSL::SSL" (NOT "openssl::crypto" and "openssl::ssl") - FindCURL module bundled with CMake means
find_package()
only works when looking for package named "CURL" (NOT "curl"), CURL's own CMake project exports package named "CURL" as well; imported target in both cases is named "CURL::libcurl" (NOT "curl::curl")
These differences complicate end-user projects that want to support both Android (using NDK) and non-Android builds, because they then need to pass different names to find_package()
and use different names of imported targets.
To Reproduce
Sample PR adding support for Android to a cross-platform project which has to workaround the naming issues: transmission/transmission#6024
Expected behavior
Package names and imported target names should match upstream to ease consumption.