CMake中添加Qt模块的合理方法
CMake手工编译Qt5项目笔记
如果需要转成CMake,参考上面地址的更改方式或者在新版本官网 QT的pro转cmake。需要注意用了set(CMAKE_AUTOMOC ON),就不能用qt5_wrap_cpp(MOC ${HEAD_FILES})了否则可能报错。
# AUTOMOC是一个布尔值,指定CMake是否将moc 自动处理Qt预处理程序,
# 即无需使用 QT4_WRAP_CPP()或QT5_WRAP_CPP()宏。当前支持Qt4和Qt5。
set(CMAKE_AUTOMOC ON)
# AUTOUIC是一个布尔值,指定CMake是否自动处理Qt uic代码生成器,
# 即不必使用QT4_WRAP_UI()或QT5_WRAP_UI()宏。当前支持Qt4和Qt5。
set(CMAKE_AUTOUIC ON)
# AUTORCC是一个布尔值,指定CMake是否将rcc自动处理Qt代码生成器,
# 即无需使用QT4_ADD_RESOURCES()或QT5_ADD_RESOURCES() 宏。当前支持Qt4和Qt5。
set(CMAKE_AUTORCC ON)
# process ui and moc action
#qt5_wrap_cpp(MOC ${HEAD_FILES})
qt5_wrap_ui(WRAP_FILES ${UI_FILES})
# qt5_add_resources(RCC res.qrc) # ${RESOURCE_DIR}
开启全局后,可以直接加入到编译的测试目标中即可
add_executable(${PROJECT_NAME} ${SRC_FILES} ${UI_FILES} ${QRC_FILE})