cmake_minimum_required(VERSION 3.10)
project(LibrarySystem)

# 设置C++标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# 使用 file(GLOB ...) 收集源文件
file(GLOB SOURCES 
    "src/*.cpp"
    "src/STL/*.cpp"
)

set(ALL_SOURCES
    main.cpp
    ${SOURCES}
)

# 添加头文件目录
include_directories(${PROJECT_SOURCE_DIR})

# 设置输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin)

# 创建可执行文件
add_executable(LibrarySystem ${ALL_SOURCES})

# Windows下的编码设置
if(MSVC)
    add_compile_options(/utf-8)
elseif(MINGW)
    add_compile_options(-fexec-charset=UTF-8)
endif()

# 设置输出目录为build目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})

# 创建数据目录
file(MAKE_DIRECTORY ${PROJECT_SOURCE_DIR}/data)
