Add versions of dependencies used to FullReport().
Change-Id: I0a41e88e0669364d21ef86146f0b572f0f08ece5
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt
index fedeafe..f754381 100644
--- a/internal/ceres/CMakeLists.txt
+++ b/internal/ceres/CMakeLists.txt
@@ -131,6 +131,9 @@
# Also depend on the header files so that they appear in IDEs.
FILE(GLOB CERES_INTERNAL_HDRS *.h)
+# Define version information for use in Solver::FullReport.
+ADD_DEFINITIONS(-DCERES_EIGEN_VERSION="${EIGEN_VERSION}")
+
# Include the specialized schur solvers.
IF (SCHUR_SPECIALIZATIONS)
FILE(GLOB CERES_INTERNAL_SCHUR_FILES generated/*.cc)
@@ -145,10 +148,14 @@
ENDIF (NOT MINIGLOG AND GLOG_FOUND)
IF (SUITESPARSE AND SUITESPARSE_FOUND)
+ # Define version information for use in Solver::FullReport.
+ ADD_DEFINITIONS(-DCERES_SUITESPARSE_VERSION="${SUITESPARSE_VERSION}")
LIST(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES ${SUITESPARSE_LIBRARIES})
ENDIF (SUITESPARSE AND SUITESPARSE_FOUND)
IF (CXSPARSE AND CXSPARSE_FOUND)
+ # Define version information for use in Solver::FullReport.
+ ADD_DEFINITIONS(-DCERES_CXSPARSE_VERSION="${CXSPARSE_VERSION}")
LIST(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES ${CXSPARSE_LIBRARIES})
ENDIF (CXSPARSE AND CXSPARSE_FOUND)
diff --git a/internal/ceres/solver_utils.cc b/internal/ceres/solver_utils.cc
index ad22e96..8b3bae9 100644
--- a/internal/ceres/solver_utils.cc
+++ b/internal/ceres/solver_utils.cc
@@ -40,6 +40,8 @@
std::string VersionString() {
std::string value = std::string(CERES_VERSION_STRING);
+ value += "-eigen-(" + std::string(CERES_EIGEN_VERSION) + ")";
+
#ifdef CERES_NO_LAPACK
value += "-no_lapack";
#else
@@ -47,11 +49,11 @@
#endif
#ifndef CERES_NO_SUITESPARSE
- value += "-suitesparse";
+ value += "-suitesparse-(" + std::string(CERES_SUITESPARSE_VERSION) + ")";
#endif
#ifndef CERES_NO_CXSPARSE
- value += "-cxsparse";
+ value += "-cxsparse-(" + std::string(CERES_CXSPARSE_VERSION) + ")";
#endif
#ifdef CERES_USE_EIGEN_SPARSE