我有一个基于Qt的程序和Qxt库。以前我使用默认的Qt .pro文件来配置头文件和库目录,一切正常。现在我想移植使用Cmake构建的东西,似乎可以在Cmake文件中逐行包含。但我看到了这个:
https://dev.libqxt.org/libqxt/src/a5a0614e4cc4/features/QxtConfig.cmake
Qxt并非使用Cmake构建。我想知道如何使用这个文件找到Qxt像Cmake找到qt作为一个包?
胡
答案 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
目录,因为额外模块文件的数量可以增长在一个大项目中。