在QT Creator中似乎是不能直接生成CMakeLists文件的,但是在一般的C++编程的时候需要用到qt中的.ui文件。
CMakeLists文件cmake_minimum_required(VERSION 3.5)
project(qt2-cmake LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_FLAGS "-std=c++11" ${CMAKE_CXX_FLAGS})
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
find_package(Qt5 REQUIRED Core Widgets)
set(QT_LIBRARIES Qt5::Widgets)
add_definitions(-DQT_NO_KEYWORDS)
set(SRC_FILES main.cpp mainwindow.cpp)
file(GLOB QT_FORMS ${CMAKE_CURRENT_SOURCE_DIR}/*.ui)
QT5_WRAP_UI(QT_FORMS_H ${QT_FORMS})
add_executable(qt2-cmake ${SRC_FILES} ${QT_FORMS_H})
target_link_libraries(qt2-cmake ${QT_LIBRARIES})
其中,参考qt官方文档
AUTOMOC、AUTOMOC的意思大概是把QT转换ui文件的权限转移给cmake,这个也是使用ui文件的关键,set(CMAKE_INCLUDE_CURRENT_DIR ON)语句使得cmake可以找到ui文件。
最后只需要把ui文件放在和main文件同一个文件夹就可以,cmake就会根据ui文件生成对应的ui.h文件。



