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)
|
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");
|
const std::string filename = (argc>1) ? argv[1] : CGAL::data_file_path("meshes/head.off");
|
||||||
|
|
||||||
SurfaceMesh sm;
|
SurfaceMesh sm;
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,11 @@ if(TARGET CGAL::Eigen3_support)
|
||||||
target_link_libraries(square_border_parameterizer PUBLIC CGAL::Eigen3_support)
|
target_link_libraries(square_border_parameterizer PUBLIC CGAL::Eigen3_support)
|
||||||
create_single_source_cgal_program( "iterative_authalic_parameterizer.cpp" )
|
create_single_source_cgal_program( "iterative_authalic_parameterizer.cpp" )
|
||||||
target_link_libraries(iterative_authalic_parameterizer PUBLIC CGAL::Eigen3_support)
|
target_link_libraries(iterative_authalic_parameterizer PUBLIC CGAL::Eigen3_support)
|
||||||
if(SuiteSparse_FOUND)
|
if(TARGET SuiteSparse::UMFPACK)
|
||||||
target_link_libraries(ARAP_parameterization PRIVATE ${SuiteSparse_LIBRARIES})
|
target_link_libraries(ARAP_parameterization PRIVATE SuiteSparse::UMFPACK)
|
||||||
target_link_libraries(orbifold PRIVATE ${SuiteSparse_LIBRARIES})
|
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()
|
endif()
|
||||||
|
|
||||||
else()
|
else()
|
||||||
|
|
|
||||||
|
|
@ -6,11 +6,24 @@ project(Surface_mesh_parameterization_Tests)
|
||||||
# Find CGAL
|
# Find CGAL
|
||||||
find_package(CGAL REQUIRED)
|
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)
|
find_package(Eigen3 3.1.0 QUIET) #(requires 3.1.0 or greater)
|
||||||
include(CGAL_Eigen3_support)
|
include(CGAL_Eigen3_support)
|
||||||
if(TARGET CGAL::Eigen3_support)
|
if(TARGET CGAL::Eigen3_support)
|
||||||
create_single_source_cgal_program("extensive_parameterization_test.cpp")
|
create_single_source_cgal_program("extensive_parameterization_test.cpp")
|
||||||
target_link_libraries(extensive_parameterization_test PUBLIC CGAL::Eigen3_support)
|
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()
|
else()
|
||||||
message("NOTICE: The tests require Eigen 3.1 (or greater), and will not be compiled.")
|
message("NOTICE: The tests require Eigen 3.1 (or greater), and will not be compiled.")
|
||||||
endif()
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,11 @@ typedef boost::graph_traits<SM_Seam_mesh>::halfedge_descriptor SM_SE_halfedge
|
||||||
|
|
||||||
int main(int, char**)
|
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);
|
std::cout.precision(17);
|
||||||
CGAL::IO::set_pretty_mode(std::cout);
|
CGAL::IO::set_pretty_mode(std::cout);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue