Search code examples
cgal

How to link Ceres to CGAL to use Smoothing functions?


I've built the Ceres package and its dependencies, now I'm trying to use the CGAL library to perform smoothing but I'm getting an error: "area-based smoothing requires ceres library".

How am I to incorporate the Ceres library? The CGAL smoothing example doesn't mention this and does not have any includes from the Ceres library.

I'm using CGAL in header-only mode without compilation, is it necessary to compile CGAL first?


Solution

  • In the cmake script of the examples using the smoothing, you can see the following line:

    target_compile_definitions( mesh_smoothing_example PRIVATE CGAL_PMP_USE_CERES_SOLVER )
    

    it is equivalent to add #define CGAL_PMP_USE_CERES_SOLVER in your code.

    The rational is that if the lib is not found by cmake, the code will be disabled.

    I agree that it is not correctly documented. An issue/PR has already been opened to improve the situation.