【问题标题】:Connecting Conan package with ordinary Qt directory连接柯南包和普通Qt目录
【发布时间】:2018-06-12 19:25:56
【问题描述】:

我在柯南官方教程中研究过创建包。我想为静态库(基于 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 的正确方法是什么?

【问题讨论】:

    标签: c++ qt cmake conan


    【解决方案1】:

    如果您使用CMake 帮助程序,您可以在build() 方法中定义任何cmake 变量:

    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"]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多