Cmake qxt如何使用find包

时间:2013-05-09 06:19:54

标签: cmake libqxt

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

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

Qxt并非使用Cmake构建。我想知道如何使用这个文件找到Qxt像Cmake找到qt作为一个包?

1 个答案:

答案 0 :(得分: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目录,因为额外模块文件的数量可以增长在一个大项目中。