#cmake版本
cmake_minimum_required(VERSION 3.1)
#项目名称
project(PluginExplore VERSION 1.0.0 LANGUAGES CXX)
#采用C++11标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
#使能AutoMoc, autoUIC, autoRCC
SET(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
#添加源文件路径
if(CMAKE_VERSION VERSION_LESS "3.7.0")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
endif()
#让cmake自动去寻找Qt5
FIND_PACKAGE(Qt5 COMPONENTS Widgets REQUIRED)
#添加所有的源文件
SET(PluginExplore_SOURCES
main.cpp
mainWindow.cpp
)
#添加所有的头文件
SET(PluginExplore_HEADERS
mainWindow.h
)
#添加所有的.ui文件
SET(PluginExplore_FORMS
mainWindow.ui
)
#添加资源文件
SET(PluginExplore_RESOURCES
pluginExplore.qrc
)
##调用预编译器moc,需要使用 QT5_WRAP_CPP宏
#QT5_WRAP_CPP(PluginExplore_HEADERS_MOC ${PluginExplore_HEADERS})
##使用uic处理.ui文件
#QT5_WRAP_UI(PluginExplorer_FORMS_HEADERS ${PluginExplore_FORMS})
##使用rcc处理.qrc文件
#QT5_ADD_RESOURCES(PluginExplore_RESOURCES_RCC ${PluginExplore_RESOURCES})
#这些生成的中间文件都会在build目录下,这样的话,编译器则不能定位由uic程序产生的诸如_ui_mainwindow.h等文件。所以,我们需要把build目录添加到包含目录中
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
#生成可执行文件
ADD_EXECUTABLE(PluginExplore
${PluginExplore_SOURCES}
${PluginExplore_HEADERS_MOC}
${PluginExplore_FORMS_HEADERS}
${PluginExplore_RESOURCES_RCC}
)
#为target添加需要链接的共享库
TARGET_LINK_LIBRARIES(PluginExplore Qt5::Widgets)