【Qt QML】用CMake管理Qt工程

CMake是一个开源、跨平台的工具系列,用于构建、测试和打包软件。CMake使用简单的独立配置文件来控制软件编译过程。与许多跨平台系统不同,CMake被设计为与本地构建环境结合使用。
下面我们在CMake项目中使用Qt的最基本方法。首先,创建一个基本的控制台应用程序。然后,将该项目扩展为使用Qt Widgets的GUI应用程序。

一、用CMake构建控制台应用程序,构建系统选择CMake(Qt6支持)

【Qt QML】用CMake管理Qt工程_第1张图片
Qt Creator为我们自动生成了一个CMakeList.txt,如图:

【Qt QML】用CMake管理Qt工程_第2张图片
CMakeList.txt是CMake项目的核心配置文件,位于项目根目录下,用于定义项目的构建规则和配置选项。通过编写CMake语法,可以在CMakeList.txt中定义项目名称、需要的源文件、依赖项、编译标志、安装规则等。这样可以实现跨平台的项目构建和管理,提供了灵活性和可扩展性。工程中自动生成的CMakeList内容如下:

cmake_minimum_required(VERSION 3.14)         #指定构建应用程序最低的CMake版本,通常放在CMakeList最开始

project(TestCMakeConsole LANGUAGES CXX)      #设定项目名称和默认版本,Languages参数用来告诉CMake程序是用C++写的

#用来告诉CMake工具自动处理UI文件、MOC文件和资源文件的指令
set(CMAKE_AUTOUIC ON)                       #开启自动生成UI头文件的功能,即对应UI文件(.ui)会生成对应的UI头文件,无需手动编写
set(CMAKE_AUTOMOC ON)                       #开启自动生成MOC文件的功能,即处理带有Q_OBJECT宏的QObject派生类的头文件,生成相应的MOC文件。MOC (Meta-Object Compiler) 是用于处理信号槽机制的工具
set(CMAKE_AUTORCC ON)                       #开启自动生成资源文件的功能,即处理.qrc文件,生成相应的资源文件

set(CMAKE_CXX_STANDARD 17)                  #指定需要C++17或者高的编译器支持
set(CMAKE_CXX_STANDARD_REQUIRED ON)         #强制指定编译器支持,如果编译器太旧,CMake将打印错误

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Co

你可能感兴趣的:(qt,qml,c++,CMake)