У меня есть скомпилированная библиотека OpenSSL для разных архитектур:
contrib / openssl / include
contrib / openssl / arm64
contrib / openssl / arm32
contrib / openssl / x86_64
В моем файле CMake есть что-то с 'FIND_PACKAGE (OpenSSL)'.
Проблема в том, что CMake не может использовать предоставил заголовочные файлы из "/ include" и найдите правильную библиотеку, которая соответствует архитектуре.
Я пробовал с '-DOPENSSL_ROOT_DIR = contrib / openssl /', но CMake не находит правильную библиотеку и использует систему path.
Использование '-DOPENSSL_ROOT_DIR = contrib / openssl / contrib / arm64' действительно находит библиотеку OpenSSL, но использует файлы заголовков из системного пути (что неверно, потому что моя хост-система использует OpenSSL 1.0.x и моя внешняя версия OpenSSL 1.1.1d).
Вопрос
Как исправить?
Мой неприятный раствор
Я предоставляю некоторые специальные "-DOWN_OPENSSL _CRYPTO_LIBRARY "и" -DOWN_OPENSSL_INCLUDE_DIR "определяет переопределение извлеченных путей:
SET(OPENSSL_INCLUDE_DIR ${OWN_OPENSSL_INCLUDE_DIR})
SET(OPENSSL_CRYPTO_LIBRARY ${OWN_OPENSSL_CRYPTO_LIBRARY})
Попытка построить архив: https://github.com/libarchive/libarchive/blob/master/CMakeLists.txt