mirror of https://github.com/CGAL/cgal
SuiteSparse: bugfix CMakeLists.txt (#8987)
## Summary of Changes bugfix of CMake scripts Adding log to example/test to indicate whether Eigen3 or SuiteSparse is used ## Release Management * Affected package(s): Surface_mesh_parameterization
This commit is contained in:
commit
ab1426ce0e
|
|
@ -26,6 +26,11 @@ namespace SMP = CGAL::Surface_mesh_parameterization;
|
|||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
#ifdef CGAL_SMP_USE_SUITESPARSE_SOLVERS
|
||||
std::cout << "Using SuiteSparse" << std::endl;
|
||||
#else
|
||||
std::cout << "Using Eigen3" << std::endl;
|
||||
#endif
|
||||
const std::string filename = (argc>1) ? argv[1] : CGAL::data_file_path("meshes/head.off");
|
||||
|
||||
SurfaceMesh sm;
|
||||
|
|
|
|||
|
|
@ -34,9 +34,11 @@ if(TARGET CGAL::Eigen3_support)
|
|||
target_link_libraries(square_border_parameterizer PUBLIC CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program( "iterative_authalic_parameterizer.cpp" )
|
||||
target_link_libraries(iterative_authalic_parameterizer PUBLIC CGAL::Eigen3_support)
|
||||
if(SuiteSparse_FOUND)
|
||||
target_link_libraries(ARAP_parameterization PRIVATE ${SuiteSparse_LIBRARIES})
|
||||
target_link_libraries(orbifold PRIVATE ${SuiteSparse_LIBRARIES})
|
||||
if(TARGET SuiteSparse::UMFPACK)
|
||||
target_link_libraries(ARAP_parameterization PRIVATE SuiteSparse::UMFPACK)
|
||||
target_link_libraries(orbifold PRIVATE PRIVATE SuiteSparse::UMFPACK)
|
||||
target_compile_definitions(ARAP_parameterization PRIVATE EIGEN_DONT_ALIGN_STATICALLY CGAL_SMP_USE_SUITESPARSE_SOLVERS)
|
||||
target_compile_definitions(orbifold PRIVATE EIGEN_DONT_ALIGN_STATICALLY CGAL_SMP_USE_SUITESPARSE_SOLVERS)
|
||||
endif()
|
||||
|
||||
else()
|
||||
|
|
|
|||
|
|
@ -6,11 +6,24 @@ project(Surface_mesh_parameterization_Tests)
|
|||
# Find CGAL
|
||||
find_package(CGAL REQUIRED)
|
||||
|
||||
find_package(UMFPACK QUIET NO_MODULE)
|
||||
|
||||
if(TARGET SuiteSparse::UMFPACK)
|
||||
message(STATUS "Orbifold Tutte Embeddings will use UmfPackLU")
|
||||
else()
|
||||
message(STATUS "NOTICE: Examples will be compiled without the SuiteSparse library and UmfPack. Try setting CMAKE_PREFIX_PATH to your SuiteSparse installation.")
|
||||
endif()
|
||||
|
||||
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
|
||||
include(CGAL_Eigen3_support)
|
||||
if(TARGET CGAL::Eigen3_support)
|
||||
create_single_source_cgal_program("extensive_parameterization_test.cpp")
|
||||
target_link_libraries(extensive_parameterization_test PUBLIC CGAL::Eigen3_support)
|
||||
|
||||
if(TARGET SuiteSparse::UMFPACK)
|
||||
target_link_libraries(extensive_parameterization_test PRIVATE SuiteSparse::UMFPACK)
|
||||
target_compile_definitions(extensive_parameterization_test PRIVATE EIGEN_DONT_ALIGN_STATICALLY CGAL_SMP_USE_SUITESPARSE_SOLVERS)
|
||||
endif()
|
||||
else()
|
||||
message("NOTICE: The tests require Eigen 3.1 (or greater), and will not be compiled.")
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -78,6 +78,11 @@ typedef boost::graph_traits<SM_Seam_mesh>::halfedge_descriptor SM_SE_halfedge
|
|||
|
||||
int main(int, char**)
|
||||
{
|
||||
#ifdef CGAL_SMP_USE_SUITESPARSE_SOLVERS
|
||||
std::cout << "Using SuiteSparse" << std::endl;
|
||||
#else
|
||||
std::cout << "Using Eigen3" << std::endl;
|
||||
#endif
|
||||
std::cout.precision(17);
|
||||
CGAL::IO::set_pretty_mode(std::cout);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue