记录使用 CMake 构建 Qt 工程并自动发布的基本方法
QtCreator 已经提供了 CMake 构建 Qt 工程的模板,只需要在 QtCreator 新建项目时选择 CMake 作为构建系统即可。燃鹅想要这个工程在其他 IDE(MSVC / XCode) 中愉快的编译和调试的话,上述的模板是不够的。我们还需要向 CMakeLists.txt 里面添加发布相关的代码,使其在编译之后自动拷贝 Qt 相关的库文件。
以下是我整理出来的一个基础模板:
cmake_minimum_required (VERSION 3.8)
project(YourProjectName)
list(APPEND CMAKE_PREFIX_PATH "Your/Qt/Install/Directory/Contains/bin/And/lib")
# 开启自动 moc / rcc / uic
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
# 指定 c++11 标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 将当前目录加入包含目录
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# 寻找 Qt 库
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
# 定义源文件
file(GLOB SRC_FILES "YourSrc.h YourSrc.cpp YourUiSrc.ui")
# 查找 windeployqt / macdeployqt 文件
get_target_property(_qmake_executable Qt${QT_VERSION_MAJOR}::q