@@ -25,6 +25,7 @@ if (PROJECT_IS_TOP_LEVEL)
2525 option (LIBIGL_GLFW "Use GLFW" OFF )
2626 option (LIBIGL_PNG "Use PNG" OFF )
2727 option (LIBIGL_EMBREE "Use EMBREE" OFF )
28+ set ( SUITESPARSE_ENABLE_PROJECTS "suitesparse_config;cholmod;spqr" )
2829endif ()
2930
3031find_package (Boost REQUIRED COMPONENTS system filesystem serialization)
@@ -96,17 +97,11 @@ add_subdirectory(src/optimization)
9697
9798if (ENABLE_VISUALIZATION)
9899 include (polyscope)
99- target_link_libraries (MetricOptimizationLib PUBLIC
100+ target_link_libraries (MetricOptimizationLib PRIVATE
100101 polyscope
101102 )
102103endif ()
103104
104- if (USE_SUITESPARSE)
105- include (suitesparse)
106- target_link_libraries (MetricOptimizationLib PUBLIC
107- SuiteSparse::CHOLMOD
108- )
109- endif ()
110105
111106# Build pybind optimization functions
112107message ("FIXME Building pybind libraries" )
@@ -132,6 +127,18 @@ if(USE_PYBIND)
132127 HighFiveLib
133128 )
134129
130+ if (USE_SUITESPARSE)
131+ include (suitesparse)
132+ target_link_libraries (MetricOptimizationLib PRIVATE
133+ SuiteSparse::SuiteSparseConfig
134+ SuiteSparse::CHOLMOD
135+ )
136+ target_link_libraries (optimization_py PRIVATE
137+ SuiteSparse::SuiteSparseConfig
138+ SuiteSparse::CHOLMOD
139+ )
140+ endif ()
141+
135142 # Set pybinding settings
136143 set_target_properties (optimization_py PROPERTIES LIBRARY_OUTPUT_DIRECTORY
137144 ${PROJECT_SOURCE_DIR} /py
@@ -167,6 +174,12 @@ if(NOT USE_MULTIPRECISION)
167174 MetricOptimizationLib
168175 Catch2::Catch2WithMain
169176 )
177+ if (USE_SUITESPARSE)
178+ target_link_libraries (CurvatureMetricTests PRIVATE
179+ SuiteSparse::SuiteSparseConfig
180+ SuiteSparse::CHOLMOD
181+ )
182+ endif ()
170183 set (TEST_DATA_ROOT "${PROJECT_SOURCE_DIR} /src/tests/regression/" )
171184 target_compile_definitions (CurvatureMetricTests PUBLIC TEST_DATA_DIR=\"${TEST_DATA_ROOT} \")
172185 endif ()
0 commit comments