cmake_minimum_required(VERSION 3.15)
project(pyglmGamPoi LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
find_package(pybind11 CONFIG REQUIRED)
find_package(OpenMP)

pybind11_add_module(
    _core
    src/bindings.cpp
    src/overdispersion.cpp
    src/offset_fit.cpp
    src/glm_gp_offset.cpp
)

target_include_directories(_core PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)

if(OpenMP_CXX_FOUND)
    target_link_libraries(_core PRIVATE OpenMP::OpenMP_CXX)
endif()

install(TARGETS _core DESTINATION pyglmGamPoi)
