cmake_minimum_required(VERSION 3.20)

project(cmvr_scurve LANGUAGES CXX)

find_package(Python REQUIRED COMPONENTS Interpreter Development.Module)

execute_process(
  COMMAND "${Python_EXECUTABLE}" -m pybind11 --cmakedir
  OUTPUT_VARIABLE pybind11_DIR
  OUTPUT_STRIP_TRAILING_WHITESPACE
)

find_package(pybind11 CONFIG REQUIRED)

pybind11_add_module(_s_curve_native
  src/s_curve.cpp
  src/s_curve_pybind.cpp
  ../../planner/s_curve_planner/src/s_curve_velocity_planner.cpp
  ../../planner/s_curve_planner/src/s_curve_position_planner.cpp
)

target_compile_features(_s_curve_native PUBLIC cxx_std_17)

target_include_directories(_s_curve_native
  PUBLIC
    ${CMAKE_CURRENT_SOURCE_DIR}/../..
    ${CMAKE_CURRENT_SOURCE_DIR}/include
)

set_target_properties(_s_curve_native PROPERTIES
  OUTPUT_NAME "_s_curve_native"
)
