Files
2026-05-01 10:51:39 +08:00

66 lines
1.3 KiB
CMake

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
)