# Individual benchmark programs
add_executable(changepoint_detection_b changepoint_detection_b.cpp)
target_link_libraries(changepoint_detection_b
  PUBLIC
    benchmark::benchmark
    py4dgeo_test
)
add_test(NAME changepoint_detection_b COMMAND changepoint_detection_b)

add_executable(cylindersearch_b cylindersearch_b.cpp)
target_link_libraries(cylindersearch_b
  PUBLIC
    benchmark::benchmark
    py4dgeo_test
)
add_test(NAME cylindersearch_b COMMAND cylindersearch_b)

add_executable(distances_b distances_b.cpp)
target_link_libraries(distances_b
  PUBLIC
    benchmark::benchmark
    py4dgeo_test
)
add_test(NAME distances_b COMMAND distances_b)

add_executable(scaling scaling.cpp)
target_link_libraries(scaling
  PUBLIC
    benchmark::benchmark
    py4dgeo_test
)
add_test(NAME scaling COMMAND scaling)

# Copy the scalability notebook into the build for ease of use
file(COPY scalability.ipynb DESTINATION ${CMAKE_CURRENT_BINARY_DIR})

add_executable(multiscale_normal multiscale_normal.cpp)
target_link_libraries(multiscale_normal
  PUBLIC
    benchmark::benchmark
    py4dgeo_test
)
add_test(NAME multiscale_normal COMMAND multiscale_normal)
