【问题标题】:Cmake qxt how to use find packageCmake qxt如何使用查找包
【发布时间】:2013-05-09 06:19:54
【问题描述】:

我有一个带有 Qxt 库的基于 Qt 的程序。之前我使用默认的Qt .pro文件来配置头文件和库目录,一切正常。现在我想将东西移植到用 Cmake 构建,在 Cmake 文件中逐行包含似乎可以。但我看到了这个:

https://dev.libqxt.org/libqxt/src/a5a0614e4cc4/features/QxtConfig.cmake

Qxt 不是用 Cmake 作为附加组件构建的。我想知道如何使用这个文件来找到像 Cmake 一样的 Qxt find qt as a package?

胡里奥

【问题讨论】:

    标签: cmake libqxt


    【解决方案1】:

    在项目目录树的顶层,添加一个 cmake 文件夹和一个 Modules 子文件夹:

    your_project_dir/
        |-src/
        |-cmake/
        |   |-Modules/
        |-CMakeLists.txt
    

    将QxtConfig.cmake 文件放入cmake/Modules/。在您的 CMakeLists.txt 中,添加以下行:

    SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/")
    INCLUDE(${CMAKE_MODULE_PATH}/QxtConfig.cmake)
    

    这将运行QxtConfig.cmake 文件中的代码。

    请注意,如果文件名为 FindQxt.cmake,您可以调用 FIND_PACKAGE(Qtx) 而不是 INCLUDE(${CMAKE_MODULE_PATH}/QxtConfig.cmake)。

    注意

    当然,你不需要做整个cmake/Modules/ 的事情。您可以将QxtConfig.cmake 文件放在CMakeLists.txt 旁边并省略有关CMAKE_MODULE_PATH 的所有内容,但最好有一个Modules 目录,因为在大型项目中额外模块文件的数量可能会增加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 1970-01-01
      相关资源
      最近更新 更多