cmake_minimum_required(VERSION 3.14)
project(aise-platform VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# MSVC UTF-8 support
if (MSVC)
    add_compile_options(/utf-8)
endif()

# ── 头文件目录 ──
include_directories(${CMAKE_SOURCE_DIR}/include)

# ── 源文件列表 ──
set(AISE_SOURCES
    src/main.cpp
    src/engine.cpp
    src/requirements.cpp
    src/codegen.cpp
    src/testing.cpp
)

# ── 主程序 ──
add_executable(aise ${AISE_SOURCES})

# ── 测试程序（使用标准 assert） ──
add_executable(aise_test
    tests/basic_test.cpp
    src/engine.cpp
    src/requirements.cpp
    src/codegen.cpp
    src/testing.cpp
)
target_compile_definitions(aise_test PRIVATE BUILD_UNIT_TEST=1)
