cmake_minimum_required(VERSION 3.22)
project(khshield VERSION 1.0.0 LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

include_directories(include)

# Core engine sources
set(ENGINE_SOURCES
    src/core/text/aho_corasick.cpp
    src/core/text/arabizi.cpp
    src/core/text/sam_inference.cpp
    src/core/visual/skin_contour.cpp
    src/core/visual/geometry_analyzer.cpp
    src/core/visual/ocr_bridge.cpp
    src/core/audio/spectrum_analyzer.cpp
    src/core/audio/bpm_energy.cpp
    src/core/shield_engine.cpp
)

add_library(khshield_core STATIC ${ENGINE_SOURCES})

# Pybind11 integration target
find_package(pybind11 REQUIRED)
pybind11_add_module(_khshield src/bindings/pybind_wrapper.cpp)
target_link_libraries(_khshield PRIVATE khshield_core)