QT项目使用CMake编译QT IDE会增加一些额外的配置,我便记录下:
cmake_minimum_required(VERSION 3.5)
project(qtapp LANGUAGES CXX)
# 设置自动生成ui.h文件, AUTOUIC打开可以省去QT5_WRAP_UI命令
set(CMAKE_AUTOUIC ON)
# 设置自动生成moc文件,AUTOMOC打开可以省去QT5_WRAP_CPP命令
# 详见备注1
set(CMAKE_AUTOMOC ON)
# 相见备注2
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 查找QT模块,其他模块选择请看备注3
find_package(Qt5 COMPONENTS Core Quick REQUIRED)
add_executable(${PROJECT_NAME}
main.cpp
qml.qrc
)
# 允许qml能debug
target_compile_definitions(${PROJECT_NAME}
PRIVATE $,$>:QT_QML_DEBUG>)
# 与上面的find_package ()一一对应将对应的库链接到项目里
target_link_libraries(${PROJECT_NAME}
PRIVATE Qt5::Core Qt5::Quick)
备注1:
QT中moc的作用: Qt 将源代码交给标准 C++ 编译器,如 gcc 之前ÿ