Skip to content

libarchive: Fix OpenSSL crypto library checks for build inside CMake

libarchive's crypto library checks use its config.h inside the try_compile project. Since !4839 (merged), that header depends on KWIML inside CMake. Add the include directory for KWIML to the crypto library checks. Otherwise, they always fail due to not finding the KWIML headers, and libarchive decides not to link the crypto library.

libarchive has other code besides the hash algorithms that depends on the crypto library if its ENABLE_OPENSSL option is enabled (which in CMake is controlled by CMAKE_USE_OPENSSL). It seems to be missing some conditions to link the crypto library in those cases, and instead relies on at least one of the above-mentioned checks to pass. If they all fail, and we are using system curl, we might not link the crypto library.

Fixes: #23234 (closed)
Backport: release

Merge request reports