Соединение пакета Conan с обычным каталогом Qt

Я изучал создание пакета в официальном учебнике Конана. Я хотел бы создать свой собственный пакет для статической библиотеки (проект на основе CMake). Он поддерживает Linux и Windows. Но это зависит от Qt LTS 5.9x. CMakeLists.txt содержит вызов find_package, Обычно я проходил

-DCMAKE_PREFIX_PATH=path_to_qt_cmake_modules

сделать утилиту. Конан не имеет официальной поддержки Qt 5.9. Как правильно пройти? CMAKE_PREFIX_PATH в conan во время установки пакета?

1 ответ

Если вы используете CMake помощник, вы можете определить любую переменную cmake в build() метод:

from conans import ConanFile, CMake

class ExampleConan(ConanFile):
    ...

    def build(self):
        cmake = CMake(self)
        cmake.definitions["CMAKE_PREFIX_PATH"] = <your-prefix-path>
        cmake.configure()
        cmake.build()
        cmake.install() # Build --target=install

Если вы хотите параметризованный путь к вашей локальной установке Qt, вы можете использовать обычные env-vars. Они могут быть определены в системе, но для удобства они также могут быть определены в вашем профиле:

[settings]
...
[env]
QT_PATH=my/path/to/qt

А затем используйте что-то вроде:

cmake.definitions["CMAKE_PREFIX_PATH"] = os.environ["QT_PATH"]
Другие вопросы по тегам