44 lines
1021 B
CMake
44 lines
1021 B
CMake
|
|
cmake_minimum_required(VERSION 3.12)
|
||
|
|
project(AttendanceSystem VERSION 1.0.0 LANGUAGES CXX)
|
||
|
|
|
||
|
|
set(CMAKE_CXX_STANDARD 17)
|
||
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||
|
|
|
||
|
|
# 设置输出目录
|
||
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
||
|
|
|
||
|
|
# 添加可执行文件
|
||
|
|
add_executable(attendance_system
|
||
|
|
src/main.cpp
|
||
|
|
src/app.cpp
|
||
|
|
src/employee.cpp
|
||
|
|
src/schedule.cpp
|
||
|
|
src/checkin.cpp
|
||
|
|
src/attendance.cpp
|
||
|
|
)
|
||
|
|
|
||
|
|
target_include_directories(attendance_system PRIVATE include)
|
||
|
|
|
||
|
|
# 添加测试可执行文件
|
||
|
|
add_executable(basic_test
|
||
|
|
tests/basic_test.cpp
|
||
|
|
src/employee.cpp
|
||
|
|
src/schedule.cpp
|
||
|
|
src/checkin.cpp
|
||
|
|
src/attendance.cpp
|
||
|
|
)
|
||
|
|
|
||
|
|
target_include_directories(basic_test PRIVATE include)
|
||
|
|
|
||
|
|
# 安装目标
|
||
|
|
install(TARGETS attendance_system
|
||
|
|
RUNTIME DESTINATION bin
|
||
|
|
)
|
||
|
|
|
||
|
|
install(DIRECTORY include/
|
||
|
|
DESTINATION include
|
||
|
|
FILES_MATCHING PATTERN "*.hpp"
|
||
|
|
)
|