conan
#conan
Вопрос:
Я хочу создать пакет Conan для проекта, который я нашел на Github. Этот проект является проектом CMake и зависит от openssl. Проект находит openssl с обычным find_package .
Очевидно, что в моем рецепте объявлена зависимость от openssl, но мне трудно понять, как мне получить find_package(openssl) внутри CMake проекта, чтобы найти openssl, полученный Conan?
Ответ №1:
Вам нужен генератор cmake_find_package .
from conans import ConanFile
class Foo(ConanFile):
requires = "openssl/1.1.1l"
generators = "cmake", "cmake_find_package"
...
Это будет сгенерировано Findxxx.cmake
для всех ваших зависимостей.
Если вы создаете пакеты в первый раз, я предлагаю вам прочитать, как создать пакет из официальных документов, и рекомендации по использованию из индекса Conan Center.
ОБНОВЛЕНИЕ: использование CMakeDeps
Для Conan 2.0 было внесено много улучшений, включая новый подход к генераторам. CMakeDeps — это новый способ использования при необходимости xxx-config.cmake
. Это еще не задокументировано при начале работы, но его ссылка приводит очень простой пример.