From 5a6db306b15b36e42649cee6543217dfe766ddff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Jacob?= Date: Sat, 16 Aug 2008 12:56:38 +0000 Subject: *make Eigen2 install to prefix/include/eigen2/Eigen *Add FindEigen2.cmake module in kdelibs svn path=/trunk/KDE/kdelibs/; revision=847916 --- modules/FindEigen2.cmake | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 modules/FindEigen2.cmake (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake new file mode 100644 index 00000000..924c69a0 --- /dev/null +++ b/modules/FindEigen2.cmake @@ -0,0 +1,30 @@ +# - Try to find Eigen2 lib +# Once done this will define +# +# EIGEN2_FOUND - system has eigen lib +# EIGEN2_INCLUDE_DIR - the eigen include directory + +# Copyright (c) 2006, 2007 Montel Laurent, +# Redistribution and use is allowed according to the terms of the BSD license. +# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if (EIGEN2_INCLUDE_DIR) + + # in cache already + set(EIGEN2_FOUND TRUE) + +else (EIGEN2_INCLUDE_DIR) + +find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core + PATHS + ${INCLUDE_INSTALL_DIR}/eigen2 + ) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Eigen2 DEFAULT_MSG EIGEN2_INCLUDE_DIR ) + + +mark_as_advanced(EIGEN2_INCLUDE_DIR) + +endif(EIGEN2_INCLUDE_DIR) + -- cgit v1.2.1 From e233fa57b38b755435bc22dbb568460831eee439 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Jacob?= Date: Tue, 19 Aug 2008 13:34:45 +0000 Subject: SVN_SILENT backport minor fix svn path=/trunk/KDE/kdelibs/; revision=849395 --- modules/FindEigen2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 924c69a0..59eb1dfc 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -18,6 +18,7 @@ else (EIGEN2_INCLUDE_DIR) find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core PATHS ${INCLUDE_INSTALL_DIR}/eigen2 + ${KDE4_INCLUDE_DIR}/eigen2 ) include(FindPackageHandleStandardArgs) -- cgit v1.2.1 From c39c2245fe6429e2749a2a9d94d0cbf30b50f7ab Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 29 Aug 2008 10:38:09 +0000 Subject: merge 850650 here svn path=/trunk/KDE/kdelibs/; revision=854302 --- modules/FindEigen2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 59eb1dfc..7f6edf94 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -19,6 +19,7 @@ find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core PATHS ${INCLUDE_INSTALL_DIR}/eigen2 ${KDE4_INCLUDE_DIR}/eigen2 + ${CMAKE_INCLUDE_PATH}/eigen2 ) include(FindPackageHandleStandardArgs) -- cgit v1.2.1 From 40413ebf9d94f41ac11113a625b6f22df8f4d88c Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Fri, 29 Aug 2008 11:39:27 +0000 Subject: CMAKE_INCLUDE_PATH is always empty here for some reason, so I need the explicit path listed svn path=/trunk/KDE/kdelibs/; revision=854321 --- modules/FindEigen2.cmake | 1 + 1 file changed, 1 insertion(+) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 7f6edf94..d5ffc2c2 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -20,6 +20,7 @@ find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core ${INCLUDE_INSTALL_DIR}/eigen2 ${KDE4_INCLUDE_DIR}/eigen2 ${CMAKE_INCLUDE_PATH}/eigen2 + /usr/include/eigen2 ) include(FindPackageHandleStandardArgs) -- cgit v1.2.1 From f76baf11161e49940fe67deb31e4f94a35a925e4 Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 2 Oct 2008 22:45:50 +0000 Subject: Fix it so that it can find eigen2 in mykdesupport_prefix/include/eigen2 using CMAKE_PREFIX_PATH svn path=/trunk/KDE/kdelibs/; revision=867151 --- modules/FindEigen2.cmake | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index d5ffc2c2..df7fd3aa 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -17,10 +17,11 @@ else (EIGEN2_INCLUDE_DIR) find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core PATHS - ${INCLUDE_INSTALL_DIR}/eigen2 - ${KDE4_INCLUDE_DIR}/eigen2 - ${CMAKE_INCLUDE_PATH}/eigen2 - /usr/include/eigen2 + ${INCLUDE_INSTALL_DIR} + ${KDE4_INCLUDE_DIR} + ${CMAKE_INCLUDE_PATH} + /usr/include + PATH_SUFFIXES eigen2 ) include(FindPackageHandleStandardArgs) -- cgit v1.2.1 From 5bfa5c2a22d70dd14d905a1e16a58eec34418819 Mon Sep 17 00:00:00 2001 From: David Faure Date: Thu, 2 Oct 2008 23:00:27 +0000 Subject: Cleanup as suggested by Alex (which shows another reason why using PATH_SUFFIXES is good ;) svn path=/trunk/KDE/kdelibs/; revision=867155 --- modules/FindEigen2.cmake | 2 -- 1 file changed, 2 deletions(-) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index df7fd3aa..2579a6c9 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -19,8 +19,6 @@ find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core PATHS ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR} - ${CMAKE_INCLUDE_PATH} - /usr/include PATH_SUFFIXES eigen2 ) -- cgit v1.2.1 From a6c9b82dcad7e0847d609bc0673a9c7fe61a34ab Mon Sep 17 00:00:00 2001 From: James Richard Tyrer Date: Sun, 11 Jan 2009 16:00:32 +0000 Subject: updating FindEigen2.cmake for proper search order svn path=/trunk/KDE/kdelibs/; revision=909439 --- modules/FindEigen2.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 2579a6c9..5feddf3e 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -16,10 +16,10 @@ if (EIGEN2_INCLUDE_DIR) else (EIGEN2_INCLUDE_DIR) find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core - PATHS + PATH_SUFFIXES eigen2 + HINTS ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR} - PATH_SUFFIXES eigen2 ) include(FindPackageHandleStandardArgs) -- cgit v1.2.1 From e256c297bce63e3a34091026f46fb4a1145d945d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Jacob?= Date: Tue, 23 Jun 2009 13:40:54 +0000 Subject: update FindEigen2 to allow checking versions svn path=/trunk/KDE/kdelibs/; revision=985774 --- modules/FindEigen2.cmake | 57 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 50 insertions(+), 7 deletions(-) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 5feddf3e..74e183e2 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -1,30 +1,73 @@ # - Try to find Eigen2 lib # Once done this will define # -# EIGEN2_FOUND - system has eigen lib +# EIGEN2_FOUND - system has eigen lib with correct version # EIGEN2_INCLUDE_DIR - the eigen include directory +# EIGEN2_VERSION - eigen version # Copyright (c) 2006, 2007 Montel Laurent, +# Copyright (c) 2008, 2009 Gael Guennebaud, # Redistribution and use is allowed according to the terms of the BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. + +if(NOT EIGEN2_MIN_VERSION) + if(NOT Eigen2_FIND_VERSION_MAJOR) + set(Eigen2_FIND_VERSION_MAJOR 2) + endif(NOT Eigen2_FIND_VERSION_MAJOR) + if(NOT Eigen2_FIND_VERSION_MINOR) + set(Eigen2_FIND_VERSION_MINOR 0) + endif(NOT Eigen2_FIND_VERSION_MINOR) + if(NOT Eigen2_FIND_VERSION_PATCH) + set(Eigen2_FIND_VERSION_PATCH 0) + endif(NOT Eigen2_FIND_VERSION_PATCH) + + set(EIGEN2_MIN_VERSION "${Eigen2_FIND_VERSION_MAJOR}.${Eigen2_FIND_VERSION_MINOR}.${Eigen2_FIND_VERSION_PATCH}") +endif(NOT EIGEN2_MIN_VERSION) + +macro(_eigen2_check_version) + file(READ "${EIGEN2_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen2_version_header LIMIT 5000 OFFSET 1000) + + string(REGEX MATCH "define *EIGEN_WORLD_VERSION ([0-9]*)" _eigen2_world_version_match "${_eigen2_version_header}") + set(EIGEN2_WORLD_VERSION "${CMAKE_MATCH_1}") + string(REGEX MATCH "define *EIGEN_MAJOR_VERSION ([0-9]*)" _eigen2_major_version_match "${_eigen2_version_header}") + set(EIGEN2_MAJOR_VERSION "${CMAKE_MATCH_1}") + string(REGEX MATCH "define *EIGEN_MINOR_VERSION ([0-9]*)" _eigen2_minor_version_match "${_eigen2_version_header}") + set(EIGEN2_MINOR_VERSION "${CMAKE_MATCH_1}") + + set(EIGEN2_VERSION ${EIGEN2_WORLD_VERSION}.${EIGEN2_MAJOR_VERSION}.${EIGEN2_MINOR_VERSION}) + if(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION}) + set(EIGEN2_VERSION_OK FALSE) + else(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION}) + set(EIGEN2_VERSION_OK TRUE) + endif(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION}) + + if(NOT EIGEN2_VERSION_OK) + + message(STATUS "Eigen2 version ${EIGEN2_VERSION} found in ${EIGEN2_INCLUDE_DIR}, " + "but at least version ${EIGEN2_MIN_VERSION} is required") + endif(NOT EIGEN2_VERSION_OK) +endmacro(_eigen2_check_version) if (EIGEN2_INCLUDE_DIR) # in cache already - set(EIGEN2_FOUND TRUE) + _eigen2_check_version() + set(EIGEN2_FOUND ${EIGEN2_VERSION_OK}) else (EIGEN2_INCLUDE_DIR) find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core - PATH_SUFFIXES eigen2 - HINTS + PATHS ${INCLUDE_INSTALL_DIR} ${KDE4_INCLUDE_DIR} + PATH_SUFFIXES eigen2 ) -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Eigen2 DEFAULT_MSG EIGEN2_INCLUDE_DIR ) +if(EIGEN2_INCLUDE_DIR) + _eigen2_check_version() +endif(EIGEN2_INCLUDE_DIR) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Eigen2 DEFAULT_MSG EIGEN2_INCLUDE_DIR EIGEN2_VERSION_OK) mark_as_advanced(EIGEN2_INCLUDE_DIR) -- cgit v1.2.1 From 1512b378b6933d38ecbf23a472a90dd3a4d79b23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Jacob?= Date: Wed, 24 Jun 2009 01:56:45 +0000 Subject: kill the variable EIGEN2_MIN_VERSION, instead use the native Eigen2_FIND_VERSION svn path=/trunk/KDE/kdelibs/; revision=986049 --- modules/FindEigen2.cmake | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 74e183e2..8679a36b 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -9,7 +9,7 @@ # Copyright (c) 2008, 2009 Gael Guennebaud, # Redistribution and use is allowed according to the terms of the BSD license. -if(NOT EIGEN2_MIN_VERSION) +if(NOT Eigen2_FIND_VERSION) if(NOT Eigen2_FIND_VERSION_MAJOR) set(Eigen2_FIND_VERSION_MAJOR 2) endif(NOT Eigen2_FIND_VERSION_MAJOR) @@ -20,8 +20,8 @@ if(NOT EIGEN2_MIN_VERSION) set(Eigen2_FIND_VERSION_PATCH 0) endif(NOT Eigen2_FIND_VERSION_PATCH) - set(EIGEN2_MIN_VERSION "${Eigen2_FIND_VERSION_MAJOR}.${Eigen2_FIND_VERSION_MINOR}.${Eigen2_FIND_VERSION_PATCH}") -endif(NOT EIGEN2_MIN_VERSION) + set(Eigen2_FIND_VERSION "${Eigen2_FIND_VERSION_MAJOR}.${Eigen2_FIND_VERSION_MINOR}.${Eigen2_FIND_VERSION_PATCH}") +endif(NOT Eigen2_FIND_VERSION) macro(_eigen2_check_version) file(READ "${EIGEN2_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen2_version_header LIMIT 5000 OFFSET 1000) @@ -34,16 +34,16 @@ macro(_eigen2_check_version) set(EIGEN2_MINOR_VERSION "${CMAKE_MATCH_1}") set(EIGEN2_VERSION ${EIGEN2_WORLD_VERSION}.${EIGEN2_MAJOR_VERSION}.${EIGEN2_MINOR_VERSION}) - if(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION}) + if(${EIGEN2_VERSION} VERSION_LESS ${Eigen2_FIND_VERSION}) set(EIGEN2_VERSION_OK FALSE) - else(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION}) + else(${EIGEN2_VERSION} VERSION_LESS ${Eigen2_FIND_VERSION}) set(EIGEN2_VERSION_OK TRUE) - endif(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION}) + endif(${EIGEN2_VERSION} VERSION_LESS ${Eigen2_FIND_VERSION}) if(NOT EIGEN2_VERSION_OK) message(STATUS "Eigen2 version ${EIGEN2_VERSION} found in ${EIGEN2_INCLUDE_DIR}, " - "but at least version ${EIGEN2_MIN_VERSION} is required") + "but at least version ${Eigen2_FIND_VERSION} is required") endif(NOT EIGEN2_VERSION_OK) endmacro(_eigen2_check_version) -- cgit v1.2.1 From ff23bc780fa3f7623bff89a7d85baf7a60749d8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Jacob?= Date: Wed, 24 Jun 2009 23:02:46 +0000 Subject: add documentation svn path=/trunk/KDE/kdelibs/; revision=986742 --- modules/FindEigen2.cmake | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 8679a36b..0e86aaf2 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -1,4 +1,9 @@ # - Try to find Eigen2 lib +# +# This module supports requiring a minimum version, e.g. you can do +# find_package(Eigen2 2.0.3) +# to require version 2.0.3 to newer of Eigen2. +# # Once done this will define # # EIGEN2_FOUND - system has eigen lib with correct version -- cgit v1.2.1 From 13878c79535651b151b80526f6052904c4189023 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 25 Aug 2010 20:06:48 +0000 Subject: -sync FindPackageHandleStandardArgs.cmake with the version from cmake master, in order to stay compatible with future cmake releases. Our FindPackageHandleStandardArgs.cmake had automatic check for the version number by guessing the name of the variable which contains the version number. This didn't make it into cmake, but instead an extendible version where you can specify what you want. FindEigen2.cmake is already converted, it looks like this: find_package_handle_standard_args(Eigen2 REQUIRED_VARS EIGEN2_INCLUDE_DIR VERSION_VAR EIGEN2_VERSION) Additionally a FAIL_MESSAGE can be specified. VERSION_VAR is optional. This must be merged in the 4.5. branch if we don't find any issues. Alex CCMAIL: kde-buildsystem@kde.org svn path=/trunk/KDE/kdelibs/; revision=1167973 --- modules/FindEigen2.cmake | 41 ++++++++--------------------------------- 1 file changed, 8 insertions(+), 33 deletions(-) (limited to 'modules/FindEigen2.cmake') diff --git a/modules/FindEigen2.cmake b/modules/FindEigen2.cmake index 0e86aaf2..83949e99 100644 --- a/modules/FindEigen2.cmake +++ b/modules/FindEigen2.cmake @@ -15,20 +15,14 @@ # Redistribution and use is allowed according to the terms of the BSD license. if(NOT Eigen2_FIND_VERSION) - if(NOT Eigen2_FIND_VERSION_MAJOR) - set(Eigen2_FIND_VERSION_MAJOR 2) - endif(NOT Eigen2_FIND_VERSION_MAJOR) - if(NOT Eigen2_FIND_VERSION_MINOR) - set(Eigen2_FIND_VERSION_MINOR 0) - endif(NOT Eigen2_FIND_VERSION_MINOR) - if(NOT Eigen2_FIND_VERSION_PATCH) - set(Eigen2_FIND_VERSION_PATCH 0) - endif(NOT Eigen2_FIND_VERSION_PATCH) + set(Eigen2_FIND_VERSION_MAJOR 2) + set(Eigen2_FIND_VERSION_MINOR 0) + set(Eigen2_FIND_VERSION_PATCH 0) set(Eigen2_FIND_VERSION "${Eigen2_FIND_VERSION_MAJOR}.${Eigen2_FIND_VERSION_MINOR}.${Eigen2_FIND_VERSION_PATCH}") endif(NOT Eigen2_FIND_VERSION) -macro(_eigen2_check_version) +macro(_eigen2_get_version) file(READ "${EIGEN2_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen2_version_header LIMIT 5000 OFFSET 1000) string(REGEX MATCH "define *EIGEN_WORLD_VERSION ([0-9]*)" _eigen2_world_version_match "${_eigen2_version_header}") @@ -39,26 +33,7 @@ macro(_eigen2_check_version) set(EIGEN2_MINOR_VERSION "${CMAKE_MATCH_1}") set(EIGEN2_VERSION ${EIGEN2_WORLD_VERSION}.${EIGEN2_MAJOR_VERSION}.${EIGEN2_MINOR_VERSION}) - if(${EIGEN2_VERSION} VERSION_LESS ${Eigen2_FIND_VERSION}) - set(EIGEN2_VERSION_OK FALSE) - else(${EIGEN2_VERSION} VERSION_LESS ${Eigen2_FIND_VERSION}) - set(EIGEN2_VERSION_OK TRUE) - endif(${EIGEN2_VERSION} VERSION_LESS ${Eigen2_FIND_VERSION}) - - if(NOT EIGEN2_VERSION_OK) - - message(STATUS "Eigen2 version ${EIGEN2_VERSION} found in ${EIGEN2_INCLUDE_DIR}, " - "but at least version ${Eigen2_FIND_VERSION} is required") - endif(NOT EIGEN2_VERSION_OK) -endmacro(_eigen2_check_version) - -if (EIGEN2_INCLUDE_DIR) - - # in cache already - _eigen2_check_version() - set(EIGEN2_FOUND ${EIGEN2_VERSION_OK}) - -else (EIGEN2_INCLUDE_DIR) +endmacro(_eigen2_get_version) find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core PATHS @@ -68,13 +43,13 @@ find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core ) if(EIGEN2_INCLUDE_DIR) - _eigen2_check_version() + _eigen2_get_version() endif(EIGEN2_INCLUDE_DIR) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Eigen2 DEFAULT_MSG EIGEN2_INCLUDE_DIR EIGEN2_VERSION_OK) +find_package_handle_standard_args(Eigen2 REQUIRED_VARS EIGEN2_INCLUDE_DIR + VERSION_VAR EIGEN2_VERSION) mark_as_advanced(EIGEN2_INCLUDE_DIR) -endif(EIGEN2_INCLUDE_DIR) -- cgit v1.2.1