cmake_minimum_required (VERSION 3.0) project(cpp_decoders) if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) message(STATUS "Setting build type to 'Release' as none was specified.") set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) set_property( CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release") endif() set(CMAKE_CXX_STANDARD 23) find_package(Eigen3 3.3 REQUIRED NO_MODULE) find_package(pybind11 CONFIG REQUIRED) include_directories(${pybind11_INCLUDE_DIRS}) find_package(OpenMP REQUIRED) pybind11_add_module(cpp_decoders src/cpp_decoders.cpp) target_link_libraries(cpp_decoders PRIVATE Eigen3::Eigen OpenMP::OpenMP_CXX) set(INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cpp_modules) install(TARGETS cpp_decoders ARCHIVE DESTINATION ${INSTALL_DIR} LIBRARY DESTINATION ${INSTALL_DIR} RUNTIME DESTINATION ${INSTALL_DIR})