特此声明,以下配置均为Qt5.6.3 MinGW 4.9.2 32位版本。
1. 基本配置项
1.1 moc ui和rcc编译开关
SET(CMAKE_AUTOMOC ON)
SET(CMAKE_AUTOUIC ON)
SET(CMAKE_AUTORCC ON)
1.2 启用C++11标准
* 如果在.h文件中直接对参数初始化或使用了nullptr等,请务必配置这一项
SET(CMAKE_CXX_STANDARD 11)
1.3 包含所有.h文件
* 有些只编写了.h文件,例如常量声明,结构体声明等,请务必配置这一项
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
1.4 查找Qt模块
* 首先是CMAKE_PREFIX_PATH,对应各个模块的cmake文件路径,其次FIND_PACKAGE才能生效
SET(CMAKE_PREFIX_PATH <PREFIX_PATH>/lib/cmake)
FIND_PACKAGE(Qt5 COMPONENTS Core Xml Sql Gui Widgets REQUIRED)
1.5 引入外部头文件和动态链接库
* 我习惯在src的同级目录使用include和lib路径来保存依赖,这样让整个系统看起来更整洁
INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/../include)
LINK_DIRECTORIES(${PROJECT_SOURCE_DIR}/../lib)
1.6 统一配置各目录层级的.cpp
* 网上有很多做法是每一个目录编写独立的CMakeList