Qt 5 的 CMakeLists.txt

使用 Qt5 的最小 CMake 项目文件可以是:

cmake_minimum_required(VERSION 2.8.11)

project(myproject)

find_package(Qt5 5.7.0 REQUIRED COMPONENTS
    Core
)

set(CMAKE_AUTOMOC ON)

add_executable(${PROJECT_NAME}
    main.cpp
)

target_link_libraries(${PROJECT_NAME}
    Qt5::Core
)

调用 cmake_minimum_required 来设置 CMake 的最低要求版本。此示例工作的最低要求版本是 2.8.11 - 以前版本的 CMake 需要额外的代码才能使目标使用 Qt。

调用 find_package 来搜索具有给定版本的 Qt5 的安装 - 在示例中为 5.7.0 - 并且需要组件 - 示例中的核心模块。有关可用模块的列表,请参阅 Qt 文档 。Qt5 在此项目中标记为 REQUIRED。可以通过设置变量 Qt5_DIR 来暗示安装路径。

AUTOMOC 是一个布尔值,指定 CMake 是否自动处理 Qt moc 预处理器,即不必使用 QT5_WRAP_CPP() 宏。

其他“类似 AUTOMOC”的变量是:

  • AUTOUIC:一个布尔值,指定 CMake 是否自动处理 Qt uic 代码生成器,即无需使用 QT5_WRAP_UI() 宏。

  • AUTORCC:一个布尔值,指定 CMake 是否自动处理 Qt rcc 代码生成器,即不必使用 QT5_ADD_RESOURCES() 宏。

调用 add_executable 以从给定的源文件创建可执行目标。然后使用命令 target_link_libraries 将目标链接到列出的 Qt 模块。从 CMake 2.8.11 开始,带有 Qt 导入目标的 target_link_libraries 处理链接器参数,以及包含目录和编译器选项。