[cmake] Fix Findzstd.cmake to handle OpenBSD shared libraries
authorMichał Górny <mgorny@gentoo.org>
Sat, 19 Nov 2022 19:54:54 +0000 (20:54 +0100)
committerMichał Górny <mgorny@gentoo.org>
Wed, 23 Nov 2022 05:50:53 +0000 (06:50 +0100)
commit5279e6a7d677cdf4488883b77aacab911318100c
tree9775d599c07705ddcee4d95e490f3ad21bd3c6e8
parent910204cfbdf3d29f1a840c11fe35787500bb57a7
[cmake] Fix Findzstd.cmake to handle OpenBSD shared libraries

Fix Findzstd CMake to handle shared libraries on OpenBSD correctly.
This userland does not use shared library symlinks without SOVERSION,
so the result of find_library() does not ever end with
zstd_SHARED_LIBRARY_SUFFIX.  To work around this, reverse the logic
to compare the result against zstd_STATIC_LIBRARY_SUFFIX and assume
shared library otherwise.

While at it, fix the conditions not to fall back to "result is static
library" path if it actually was recognized as a shared library but
zstd_shared target already existed.

Fixes #59056

Differential Revision: https://reviews.llvm.org/D138361
llvm/cmake/modules/Findzstd.cmake