cmake_minimum_required(VERSION 3.18)
project(symident LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT CMAKE_BUILD_TYPE)
  set(CMAKE_BUILD_TYPE Release)
endif()
find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)
find_package(pybind11 CONFIG REQUIRED)
find_package(OpenMP COMPONENTS CXX)
pybind11_add_module(_core cpp/bindings.cpp cpp/kernel.cpp)
if(OpenMP_CXX_FOUND)
  target_link_libraries(_core PRIVATE OpenMP::OpenMP_CXX)
else()
  message(WARNING "OpenMP not found: the kernel runs on one thread")
endif()
if(NOT MSVC)
  target_compile_options(_core PRIVATE -O2)
endif()
install(TARGETS _core DESTINATION symident)
