cmake_minimum_required(VERSION 3.15)
project(${SKBUILD_PROJECT_NAME} VERSION ${SKBUILD_PROJECT_VERSION} LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
find_package(nanobind CONFIG REQUIRED)


# Optional OpenMP support
find_package(OpenMP)
if(OpenMP_FOUND)
    message(STATUS "OpenMP found. Compiling with parallelization support.")
else()
    message(STATUS "OpenMP NOT found. Compiling in serial mode.")
endif()

file(GLOB_RECURSE SOURCES "src/*.cpp")
nanobind_add_module(_core STABLE_ABI ${SOURCES})

if(OpenMP_FOUND)
    target_link_libraries(_core PRIVATE OpenMP::OpenMP_CXX)
endif()
install(TARGETS _core DESTINATION ${SKBUILD_PROJECT_NAME})
