Skip to content
Snippets Groups Projects
Commit 67c17eea authored by Fabian Reister's avatar Fabian Reister
Browse files

removing FindEigen3.cmake in favor of the system version

parent 90fa58a5
No related branches found
No related tags found
No related merge requests found
# - Try to find Eigen3 lib
#
# This module supports requiring a minimum version, e.g. you can do
# find_package(Eigen3 3.1.2)
# to require version 3.1.2 or newer of Eigen3.
#
# Once done this will define
#
# Eigen3_FOUND - system has eigen lib with correct version
# Eigen3_INCLUDE_DIR - the eigen include directory
# Eigen3_VERSION - eigen version
# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
# Copyright (c) 2011 Manfred Kroehnert <Manfred.Kroehnert@kit.edu> "No all uppercase variable names"
# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
if(NOT Eigen3_FIND_VERSION)
if(NOT Eigen3_FIND_VERSION_MAJOR)
set(Eigen3_FIND_VERSION_MAJOR 2)
endif(NOT Eigen3_FIND_VERSION_MAJOR)
if(NOT Eigen3_FIND_VERSION_MINOR)
set(Eigen3_FIND_VERSION_MINOR 91)
endif(NOT Eigen3_FIND_VERSION_MINOR)
if(NOT Eigen3_FIND_VERSION_PATCH)
set(Eigen3_FIND_VERSION_PATCH 0)
endif(NOT Eigen3_FIND_VERSION_PATCH)
set(Eigen3_FIND_VERSION "${Eigen3_FIND_VERSION_MAJOR}.${Eigen3_FIND_VERSION_MINOR}.${Eigen3_FIND_VERSION_PATCH}")
endif(NOT Eigen3_FIND_VERSION)
macro(_eigen3_check_version)
file(READ "${Eigen3_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")
set(EIGEN3_WORLD_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")
set(EIGEN3_MAJOR_VERSION "${CMAKE_MATCH_1}")
string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}")
set(EIGEN3_MINOR_VERSION "${CMAKE_MATCH_1}")
set(Eigen3_VERSION ${EIGEN3_WORLD_VERSION}.${EIGEN3_MAJOR_VERSION}.${EIGEN3_MINOR_VERSION})
if(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
set(Eigen3_VERSION_OK FALSE)
else(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
set(Eigen3_VERSION_OK TRUE)
endif(${Eigen3_VERSION} VERSION_LESS ${Eigen3_FIND_VERSION})
if(NOT Eigen3_VERSION_OK)
message(STATUS "Eigen3 version ${Eigen3_VERSION} found in ${Eigen3_INCLUDE_DIR}, "
"but at least version ${Eigen3_FIND_VERSION} is required")
endif(NOT Eigen3_VERSION_OK)
endmacro(_eigen3_check_version)
if (Eigen3_INCLUDE_DIR)
# in cache already
_eigen3_check_version()
set(Eigen3_FOUND ${Eigen3_VERSION_OK})
else (Eigen3_INCLUDE_DIR)
find_path(Eigen3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
PATHS
${CMAKE_INSTALL_PREFIX}/include
${KDE4_INCLUDE_DIR}
${Eigen3_DIR}
$ENV{Eigen3_DIR}
/org/share/archive/SFB588_RefDist/eigen3/
PATH_SUFFIXES eigen3 eigen
)
if(Eigen3_INCLUDE_DIR)
_eigen3_check_version()
set(Eigen3_FOUND ${Eigen3_VERSION_OK})
endif(Eigen3_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Eigen3 DEFAULT_MSG Eigen3_INCLUDE_DIR Eigen3_VERSION_OK)
mark_as_advanced(Eigen3_INCLUDE_DIR)
endif(Eigen3_INCLUDE_DIR)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment