8000 [BUG] CMake packages and imported targets naming incompatible with upstream · Issue #173 · google/prefab · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
[BUG] CMake packages and imported targets naming incompatible with upstream #173
Open
@mikedld

Description

@mikedld

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.

Additional context
Related: #98 + #105

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingndkportsNot a Prefab bug, but we don't have a better home for these

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0