cmake_minimum_required(VERSION 3.18)
project(pypolca LANGUAGES CXX)

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

# --- Fetch Eigen3 (header-only) ---
include(FetchContent)
FetchContent_Declare(
    Eigen
    GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
    GIT_TAG        3.4.0
    GIT_SHALLOW    TRUE
)
FetchContent_MakeAvailable(Eigen)

# --- Fetch pybind11 ---
FetchContent_Declare(
    pybind11
    GIT_REPOSITORY https://github.com/pybind/pybind11.git
    GIT_TAG        v2.12.0
    GIT_SHALLOW    TRUE
)
FetchContent_MakeAvailable(pybind11)

# --- Build C++ code ---
add_subdirectory(src/cpp)

add_executable(tryout ${CMAKE_SOURCE_DIR}/examples/tryout.cpp)
target_link_libraries(tryout PRIVATE pypolca_core)
