CMake не находит правильную библиотеку и включает путь, используя FIND_PACKAGE (OpenSSL) - PullRequest
0 голосов
/ 31 марта 2020

У меня есть скомпилированная библиотека 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...