pybind11_add_module(CLUE_CPU_OMP NO_EXTRAS SHARED binding_cpu_omp.cpp)
target_include_directories(CLUE_CPU_OMP
                           PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../../../include)
target_link_libraries(CLUE_CPU_OMP PRIVATE alpaka::alpaka Boost::atomic)
target_compile_definitions(
  CLUE_CPU_OMP PRIVATE ALPAKA_HOST_ONLY ALPAKA_ACC_CPU_B_OMP2_T_SEQ_ENABLED)
target_link_libraries(CLUE_CPU_OMP PRIVATE OpenMP::OpenMP_CXX)
target_compile_options(CLUE_CPU_OMP PRIVATE $<$<CXX_COMPILER_ID:MSVC>:/bigobj>)
target_precompile_headers(
  CLUE_CPU_OMP
  PRIVATE
  <alpaka/alpaka.hpp>
  <pybind11/pybind11.h>
  <pybind11/numpy.h>
  <pybind11/stl.h>
  <pybind11/functional.h>)
set_target_properties(
  CLUE_CPU_OMP
  PROPERTIES LIBRARY_OUTPUT_DIRECTORY
             ${CMAKE_CURRENT_BINARY_DIR}/../../../lib/CLUEstering/lib/)
install(TARGETS CLUE_CPU_OMP LIBRARY DESTINATION CLUEstering/lib)
# copy shared library for local testing
add_custom_command(
  TARGET CLUE_CPU_OMP
  POST_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:CLUE_CPU_OMP>
          ${CMAKE_CURRENT_SOURCE_DIR}/../../lib/)
