cmake_minimum_required(VERSION 3.15)
project(coremlmath LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)

find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
set(PYBIND11_FINDPYTHON ON)
find_package(pybind11 CONFIG REQUIRED)

pybind11_add_module(_cmlmath src/cpp/cmlmath.cpp)

find_package(OpenMP)
if(OpenMP_CXX_FOUND)
    target_link_libraries(_cmlmath PRIVATE OpenMP::OpenMP_CXX)
endif()

if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
    target_compile_options(_cmlmath PRIVATE /O2)
else()
    target_compile_options(_cmlmath PRIVATE -O3)
endif()


install(TARGETS _cmlmath DESTINATION .)