0

我有一个带有 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?

胡里奥

4

1 回答 1

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目录,因为在一个大项目中额外的模块文件的数量可能会增加。

于 2013-05-09T06:44:04.307 回答