cmake_minimum_required(VERSION 3.16) project(AttendanceViewer VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 自动处理Qt的MOC、UIC和RCC set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) # 查找Qt5组件 find_package(Qt5 REQUIRED COMPONENTS Core Widgets Network ) # 源文件 set(SOURCES src/main.cpp src/MainWindow.cpp src/AttendanceRecord.cpp src/TimeSlotConfig.cpp src/SettingsDialog.cpp src/StatisticsDialog.cpp src/NetworkApiManager.cpp src/ServerConfigDialog.cpp ) # 头文件 set(HEADERS include/MainWindow.h include/AttendanceRecord.h include/TimeSlotConfig.h include/SettingsDialog.h include/StatisticsDialog.h include/NetworkApiManager.h include/ServerConfigDialog.h ) # 包含目录 include_directories(${CMAKE_SOURCE_DIR}/include) # 创建可执行文件 add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS}) # 链接Qt库 target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Network ) # Windows平台特定设置 if(WIN32) set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE ON ) endif() # 安装目标 install(TARGETS ${PROJECT_NAME} RUNTIME DESTINATION bin )