cmake_minimum_required(VERSION 3.15)
project(MultiAgentSystem 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(multi_agent_system
    src/main.cpp
    src/app.cpp
)

target_include_directories(multi_agent_system
    PUBLIC
        ${CMAKE_SOURCE_DIR}/include
)

# 测试程序
add_executable(basic_test
    tests/basic_test.cpp
    src/app.cpp
)

target_include_directories(basic_test
    PUBLIC
        ${CMAKE_SOURCE_DIR}/include
)

# 启用测试
enable_testing()
add_test(NAME basic_test COMMAND basic_test)