0

我在官方柯南教程中研究过创建包。我想为静态库(基于 CMake 的项目)创建自己的包。它支持Linux和Windows。但这取决于 Qt LTS 5.9x。CMakeLists.txt 包含对find_package. 通常我通过

-DCMAKE_PREFIX_PATH=path_to_qt_cmake_modules

到 cmake 实用程序。柯南没有官方的 Qt 5.9 支持。在包安装期间传递 CMAKE_PREFIX_PATH给的正确方法是什么?conan

4

1 回答 1

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"]
于 2018-06-12T21:04:08.973 回答