From dcbba523f216e6685adefbcbf2ab8f7c0a0729a1 Mon Sep 17 00:00:00 2001 From: Kartik Mohta Date: Tue, 9 Feb 2016 21:39:20 +0000 Subject: [PATCH] Use system Eigen if version >= 3.2.5 since that includes our patches --- CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3123dbea2..07d8d49de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -215,6 +215,15 @@ endif() ### http://eigen.tuxfamily.org/bz/show_bug.cgi?id=705 (Fix MKL LLT return code) option(GTSAM_USE_SYSTEM_EIGEN "Find and use system-installed Eigen. If 'off', use the one bundled with GTSAM" OFF) +# Use system Eigen if version >= 3.2.5 since that includes our patches +find_package(Eigen3 QUIET) +if(EIGEN3_FOUND AND (${EIGEN3_VERSION} VERSION_GREATER "3.2.4")) + set(GTSAM_USE_SYSTEM_EIGEN ON) + set(GTSAM_SYSTEM_EIGEN_MKL_ERROR OFF) +else() + set(GTSAM_SYSTEM_EIGEN_MKL_ERROR ON) +endif() + # Switch for using system Eigen or GTSAM-bundled Eigen if(GTSAM_USE_SYSTEM_EIGEN) find_package(Eigen3 REQUIRED) @@ -224,7 +233,7 @@ if(GTSAM_USE_SYSTEM_EIGEN) set(GTSAM_EIGEN_INCLUDE_PREFIX "${EIGEN3_INCLUDE_DIR}") # check if MKL is also enabled - can have one or the other, but not both! - if(EIGEN_USE_MKL_ALL) + if(EIGEN_USE_MKL_ALL AND GTSAM_SYSTEM_EIGEN_MKL_ERROR) message(FATAL_ERROR "MKL cannot be used together with system-installed Eigen, as MKL support relies on patches which are not yet in the system-installed Eigen. Disable either GTSAM_USE_SYSTEM_EIGEN or GTSAM_WITH_EIGEN_MKL") endif() else()