kkofler pushed to avogadro (f20). "backport FindEigen3.cmake from Avogadro 1.1.1 (no system copy on F20)"

notifications at fedoraproject.org notifications at fedoraproject.org
Sun Mar 29 03:39:41 UTC 2015


>From 0346bd896cc565d5b800b7c9b28240dfb98ba374 Mon Sep 17 00:00:00 2001
From: Kevin Kofler <Kevin at tigcc.ticalc.org>
Date: Sun, 29 Mar 2015 05:39:31 +0200
Subject: backport FindEigen3.cmake from Avogadro 1.1.1 (no system copy on F20)


diff --git a/avogadro-1.0.3-findeigen3.patch b/avogadro-1.0.3-findeigen3.patch
new file mode 100644
index 0000000..d15d4f5
--- /dev/null
+++ b/avogadro-1.0.3-findeigen3.patch
@@ -0,0 +1,96 @@
+diff -Nur avogadro-1.0.3-eigen3/cmake/modules/FindEigen3.cmake avogadro-1.0.3-findeigen3/cmake/modules/FindEigen3.cmake
+--- avogadro-1.0.3-eigen3/cmake/modules/FindEigen3.cmake	1970-01-01 01:00:00.000000000 +0100
++++ avogadro-1.0.3-findeigen3/cmake/modules/FindEigen3.cmake	2013-12-06 16:50:04.000000000 +0100
+@@ -0,0 +1,81 @@
++# - 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 at kde.org>
++# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael at free.fr>
++# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1 at gmail.com>
++# 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}
++      PATH_SUFFIXES eigen3 eigen
++    )
++
++  if(EIGEN3_INCLUDE_DIR)
++    _eigen3_check_version()
++  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)
++
+diff -Nur avogadro-1.0.3-eigen3/CMakeLists.txt avogadro-1.0.3-findeigen3/CMakeLists.txt
+--- avogadro-1.0.3-eigen3/CMakeLists.txt	2015-03-29 05:32:51.000000000 +0200
++++ avogadro-1.0.3-findeigen3/CMakeLists.txt	2015-03-29 05:35:55.000000000 +0200
+@@ -427,6 +427,7 @@
+ 
+ # Install the find modules we require to be present
+ install(FILES
++  "${CMAKE_MODULE_PATH}/FindEigen3.cmake"
+   "${CMAKE_MODULE_PATH}/FindGLEW.cmake"
+   DESTINATION "${Avogadro_PLUGIN_INSTALL_DIR}/cmake")
+ 
diff --git a/avogadro.spec b/avogadro.spec
index 95ec1d5..d0c0814 100644
--- a/avogadro.spec
+++ b/avogadro.spec
@@ -18,6 +18,9 @@ Patch0:         avogadro-1.0.3-mkspecs-dir.patch
 Patch1:         avogadro-1.0.3-no-strip.patch
 # port from Eigen2 to Eigen3, from Debian (Anton Gladky)
 Patch2:         avogadro-1.0.3-eigen3.patch
+# backport FindEigen3.cmake from Avogadro 1.1.1
+# (The Debian patch relies on a system copy, which is not available on F20.)
+Patch3:         avogadro-1.0.3-findeigen3.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -71,6 +74,7 @@ Avogadros libraries.
 %patch0 -p1 -b .mkspecs-dir
 %patch1 -p1 -b .no-strip
 %patch2 -p1 -b .eigen3
+%patch3 -p1 -b .findeigen3
 
 # nuke unpatched copy, use working version included in cmake instead -- Rex
 rm -f cmake/modules/FindPythonLibs.cmake
@@ -156,6 +160,7 @@ rm -rf $RPM_BUILD_ROOT
 %changelog
 * Sun Mar 29 2015 Kevin Kofler <Kevin at tigcc.ticalc.org> - 1.0.3-20
 - apply Debian patch to use Eigen3 instead of Eigen2, build against Eigen3
+- backport FindEigen3.cmake from Avogadro 1.1.1 (no system copy on F20)
 - -devel: add missing Requires: eigen3-devel (eigen2-devel was missing before)
 
 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.0.3-19
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/avogadro.git/commit/?h=f20&id=0346bd896cc565d5b800b7c9b28240dfb98ba374


More information about the scm-commits mailing list