Provide optional METIS support

* Split `CERES_NO_METIS` into two defines: `CERES_NO_PARTITION` and
  `CERES_NO_METIS`. The former refers to METIS support in SuiteSparse,
  the latter to the Eigen's MetisSupport module. This enables the use of
  sparse matrix reordering independent from SuiteSparse.
* Run Linux, macOS, and macOS Github workflows with METIS enabled
  SuiteSparse.

Fixes #808

Change-Id: I5076b7e1268d32cc3e7e56650edcbaf7fb3b59ce
This commit is contained in:
Sergiu Deitsch
2022-05-15 22:26:18 +02:00
committed by Sameer Agarwal
parent f11c256265
commit 0c88301e66
16 changed files with 123 additions and 38 deletions
+8 -7
View File
@@ -203,15 +203,16 @@ def ceres_library(name,
# part of a Skylark Ceres target macro.
# https://github.com/ceres-solver/ceres-solver/issues/396
defines = [
"CERES_NO_SUITESPARSE",
"CERES_NO_METIS",
"CERES_NO_ACCELERATE_SPARSE",
"CERES_NO_LAPACK",
"CERES_USE_EIGEN_SPARSE",
"CERES_USE_CXX_THREADS",
"CERES_NO_CUDA",
"CERES_EXPORT=",
"CERES_NO_ACCELERATE_SPARSE",
"CERES_NO_CHOLMOD_PARTITION",
"CERES_NO_CUDA",
"CERES_NO_EIGEN_METIS",
"CERES_NO_EXPORT=",
"CERES_NO_LAPACK",
"CERES_NO_SUITESPARSE",
"CERES_USE_CXX_THREADS",
"CERES_USE_EIGEN_SPARSE",
],
includes = [
"config",