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 "$/plugins/platforms/") add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy "${QT_INSTALL_PATH}/plugins/platforms/qwindows${DEBUG_SUFFIX}.dll" "$/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" "$") endforeach (QT_LIB) endif ()