cmake_minimum_required(VERSION 3.16)
project(mesh_reconstruct 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(CGAL REQUIRED)

add_executable(mesh_reconstruct mesh_reconstruct.cpp)
target_link_libraries(mesh_reconstruct PRIVATE CGAL::CGAL)

# Eigen es necesario para el solver de Poisson. Si está disponible, se enlaza el
# soporte de CGAL; Advancing Front no lo necesita.
find_package(Eigen3 QUIET)
if(TARGET CGAL::Eigen3_support)
  target_link_libraries(mesh_reconstruct PRIVATE CGAL::Eigen3_support)
elseif(Eigen3_FOUND)
  target_link_libraries(mesh_reconstruct PRIVATE Eigen3::Eigen)
endif()
