130 lines
2.6 KiB
CMake
130 lines
2.6 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
project(ToolkitFramework)
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_SOURCE_DIR}/bin)
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_SOURCE_DIR}/bin)
|
|
# 查找Qt5组件
|
|
find_package(Qt5 COMPONENTS Core Widgets REQUIRED)
|
|
|
|
find_package(Git QUIET)
|
|
|
|
if(GIT_FOUND)
|
|
|
|
#获取哈希
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
|
OUTPUT_VARIABLE GIT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
#获取当前分支名
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
|
|
OUTPUT_VARIABLE GIT_BRANCH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
|
|
#获取最近的tag
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0
|
|
OUTPUT_VARIABLE GIT_TAG
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
ERROR_QUIET
|
|
)
|
|
|
|
if(NOT GIT_TAG)
|
|
set(GIT_TAG "none")
|
|
endif()
|
|
|
|
#获取最近的一次提交时间
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} log -1 --format=%cd --date=format:%Y-%m-%d,%H:%M:%S
|
|
OUTPUT_VARIABLE GIT_COMMIT_TIME
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
else()
|
|
set(GIT_HASH "unknown")
|
|
set(GIT_BRANCH "unknown")
|
|
set(GIT_TAG "unknown")
|
|
set(GIT_COMMIT_TIME "unknown")
|
|
endif()
|
|
|
|
########构建时间#########
|
|
string(TIMESTAMP BUILD_TIME "%Y-%m-%d %H:%M:%S")
|
|
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/versionInfo/version.cpp.in
|
|
${CMAKE_CURRENT_SOURCE_DIR}/versionInfo/version.cpp
|
|
@ONLY
|
|
)
|
|
|
|
# 定义源文件
|
|
set(SOURCES
|
|
main.cpp
|
|
mainwindow.cpp
|
|
Pages/ToolBox.cpp
|
|
Pages/toolpage.cpp
|
|
UIHelper/ConfigHelp.cpp
|
|
UIHelper/frmmessagebox.cpp
|
|
UIHelper/frameless_helper.cpp
|
|
UiModules/quiwidget.cpp
|
|
UiModules/appinit.cpp
|
|
versionInfo/version.cpp
|
|
versionInfo/versionWgt.cpp
|
|
)
|
|
|
|
# 定义头文件
|
|
set(HEADERS
|
|
mainwindow.h
|
|
Pages/ToolBox.h
|
|
Pages/ToolPage.h
|
|
UIHelper/commonhelper.h
|
|
UIHelper/ConfigHelp.h
|
|
UIHelper/frmmessagebox.h
|
|
UIHelper/frameless_helper.h
|
|
UiModules/quiwidget.h
|
|
UiModules/head.h
|
|
UiModules/appinit.h
|
|
versionInfo/version.h
|
|
versionInfo/versionWgt.h
|
|
)
|
|
|
|
# 定义UI文件
|
|
set(FORMS
|
|
mainwindow.ui
|
|
Pages/ToolBox.ui
|
|
Pages/ToolPage.ui
|
|
UIHelper/frmmessagebox.ui
|
|
versionInfo/versionWgt.ui
|
|
)
|
|
|
|
# 添加库
|
|
add_executable(Toolkits
|
|
${SOURCES}
|
|
${HEADERS}
|
|
${FORMS}
|
|
qss.qrc
|
|
image.qrc
|
|
mainWgt.qrc
|
|
)
|
|
|
|
add_dependencies(Toolkits Toolkit_CommunicationInterface)
|
|
|
|
target_link_directories(Toolkits PRIVATE
|
|
${CMAKE_BINARY_DIR}/lib
|
|
${CMAKE_SOURCE_DIR}/Common/MQTT/lib
|
|
)
|
|
|
|
target_link_libraries(Toolkits PRIVATE
|
|
Toolkit_CommunicationInterface.lib
|
|
mosquitto.lib
|
|
mosquittopp.lib
|
|
CommonLib.lib
|
|
)
|
|
|
|
target_include_directories(Toolkits PUBLIC
|
|
${CMAKE_SOURCE_DIR}/Toolkit_Plugins/Toolkit_CommunicationInterface
|
|
)
|
|
|
|
clearAutoFile()
|