国外大牛的实例:http://qt-project.org/quarterly/view/using_cmake_to_build_qt_projects
对于QT而言一般是采用qmake来配置工程,优点是简单直接。在许多工程开发中,QT常常会与其他的工程结合使用,这样qmake就难以管理工程。这里主要介绍使用CMake来配置QT工程。使用CMake优点之一是可以将代码文件和工程文件分离,使得工程结构更加清晰,也便于代码移植;之二是可以与其他的用CMake管理的工程结合,例如ITK,VTK,OpenCV等。采用CMake配置QT工程主要分为以下四个步骤:
1.使用QCreator创建工程MIStudio。
2. 新建一个工程目录,在其中建立两个目录,source存放代码文件,bin存放工程文件。将test工程中的代码、UI和资源文件拷贝到source目录中(main.h mainwindow.h mainwindow.cpp mainwindow.ui MIStudio.qrc)。
3. 添加CMakeLists.txt文件,文件内容有以下四个部分
(1) 添加CMakeLists.txt头信息
PROJECT (MIStudio)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
(2) 添加QT4库
FIND_PACKAGE (QT4 REQUIRED)
INCLUDE (${QT_USE_FILE})
INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR})
ADD_DEFINITIONS (${QT_DEFINITIONS})
(3) 将.h文件进行moc操作,ui文件进行uic操作,资源文件进行rcc操作
SET (MISTUDIO_HEADERS mainwindow.h)
SET (MISTUDIO_UIS mainwindow.ui)
SET (MISTUDIO_QRCS MIStudio.qrc)
SET (MISTUDIO_SRCS main.cpp mainwindow.cpp ${MISTUDIO_QRCS})
QT4_WRAP_CPP (MISTUDIO_HEADERS_MOC ${MISTUDIO_HEADERS})
QT4_WRAP_UI (MISTUDIO_UIS_UIC ${MISTUDIO_UIS})
QT4_ADD_RESOURCES (MISTUDIO_QRC_RCC ${MISTUDIO_QRCS})
(4) 添加工程,并连接QT库
ADD_EXECUTABLE (MIStudio ${MISTUDIO_SRCS}
${MISTUDIO_HEADERS_MOC}
${MISTUDIO_UIS_UIC}
${MISTUDIO_QRC_RCC})
TARGET_LINK_LIBRARIES (MIStudio ${QT_LIBRARIES})
4. 打开CMake对工程进行配置,选择source文件源文件目录,选择bin为编译目录配置后,生成工程并编译,即可完成一个基于CMake管理的QT工程。