Train_RFID/CMakeLists.txt

107 lines
3.4 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

cmake_minimum_required(VERSION 3.25)
set(PROJECT_NAME Train_RFID)
project(${PROJECT_NAME} VERSION 1.0 DESCRIPTION "火车车号识别 RFID版")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_PREFIX_PATH "D:/Qt/5.15.2/mingw81_64")
link_libraries(ws2_32 wsock32)
find_package(Qt5 COMPONENTS
Core
Gui
Widgets
Network
SerialPort
REQUIRED)
#导入Qt的Network配置和在pro文件里面添加QT+=network是一样的
#find_package(QT NAMES Qt5 REQUIRED COMPONENTS Core Network SerialPort )
#find_package(Qt${QT_VERSION_MAJOR} REQUIRED Network COMPONENTS Core)
#find_package(Qt5Core COMPONENTS Qt5SerialPort REQUIRED)
#moc编译在这里进行请把含有Q_OBJECT宏定义的头文件放到这里来
QT5_WRAP_CPP(MOC_Files
${PROJECT_SOURCE_DIR}/source/mainwindow.h
${PROJECT_SOURCE_DIR}/interface/TcpClient.h
)
include_directories(
${PROJECT_SOURCE_DIR}/common
# source source
${PROJECT_SOURCE_DIR}/source
# json库
${PROJECT_SOURCE_DIR}/util/json
# http库
${PROJECT_SOURCE_DIR}/util/http
# com口工具
${PROJECT_SOURCE_DIR}/util/comPort
# interface
${PROJECT_SOURCE_DIR}/interface
)
file(GLOB_RECURSE COMMON_SRCS_LISTS
# UI
${PROJECT_SOURCE_DIR}/source/mainwindow.ui
# 公共数据
${PROJECT_SOURCE_DIR}/common/common.cpp
# source source
${PROJECT_SOURCE_DIR}/source/mainwindow.cpp
# JSON库
${PROJECT_SOURCE_DIR}/util/json/jsoncpp.cpp
# http库
${PROJECT_SOURCE_DIR}/util/http/httplib.cc
# com口工具
${PROJECT_SOURCE_DIR}/util/comPort/ComPortTool.cpp
# interface
${PROJECT_SOURCE_DIR}/interface/TcpClient.cpp
)
add_executable(Train_RFID
main.cpp
${COMMON_SRCS_LISTS}
${MOC_Files}
)
target_link_libraries(Train_RFID
-pthread
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::Network
Qt5::SerialPort
)
if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
set(DEBUG_SUFFIX)
if (MSVC AND CMAKE_BUILD_TYPE MATCHES "Debug")
set(DEBUG_SUFFIX "d")
endif ()
set(QT_INSTALL_PATH "${CMAKE_PREFIX_PATH}")
if (NOT EXISTS "${QT_INSTALL_PATH}/bin")
set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..")
if (NOT EXISTS "${QT_INSTALL_PATH}/bin")
set(QT_INSTALL_PATH "${QT_INSTALL_PATH}/..")
endif ()
endif ()
if (EXISTS "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E make_directory
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>/plugins/platforms/")
endif ()
foreach (QT_LIB Core Gui Widgets Network SerialPort)
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${QT_INSTALL_PATH}/bin/Qt5${QT_LIB}${DEBUG_SUFFIX}.dll"
"$<TARGET_FILE_DIR:${PROJECT_NAME}>")
endforeach (QT_LIB)
endif ()