Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:wolfi323:openbabel3test
kalzium4
switch-to-eigen3.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File switch-to-eigen3.diff of Package kalzium4
From 6698499251550b8cdd91bb1b94500a3383fc4df3 Mon Sep 17 00:00:00 2001 From: Etienne Rebetez <etienne.rebetez@gmail.com> Date: Mon, 10 Mar 2014 19:05:21 +0100 Subject: REVIEW: 116638 Use EIGEN3 instead of EIGEN2. Thanks to Maximiliano Curia for the patch. --- CMakeLists.txt | 6 ++-- KalziumConfigureChecks.cmake | 6 ++-- cmake/modules/FindEigen2.cmake | 75 -------------------------------------- cmake/modules/FindEigen3.cmake | 81 ++++++++++++++++++++++++++++++++++++++++++ compoundviewer/CMakeLists.txt | 2 +- src/CMakeLists.txt | 10 +++--- 6 files changed, 93 insertions(+), 87 deletions(-) delete mode 100644 cmake/modules/FindEigen2.cmake create mode 100644 cmake/modules/FindEigen3.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index d7583c3..804f0b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,7 +35,7 @@ kde4_no_enable_final(kalzium) include(KalziumConfigureChecks.cmake) -if (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN2_FOUND) +if (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN3_FOUND) # avoid compilerwarnings about redefinitions # todo: use check_function_exits() ? message(STATUS "Kalzium molecular editor enabled") @@ -43,9 +43,9 @@ if (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN2_FOUND) add_definitions(-DHAVE_SNPRINTF -DHAVE_STRCASECMP -DHAVE_STRNCASECMP) endif (WIN32) add_subdirectory(compoundviewer) -else (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN2_FOUND) +else (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN3_FOUND) message(STATUS "Kalzium molecular editor disabled") -endif (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN2_FOUND) +endif (OPENBABEL2_FOUND AND Avogadro_FOUND AND EIGEN3_FOUND) add_subdirectory(doc) add_subdirectory(src) diff --git a/KalziumConfigureChecks.cmake b/KalziumConfigureChecks.cmake index 8917d5e..e3197ac 100644 --- a/KalziumConfigureChecks.cmake +++ b/KalziumConfigureChecks.cmake @@ -4,7 +4,7 @@ include(CheckFunctionExists) macro_optional_find_package(OCaml) macro_optional_find_package(Libfacile) macro_optional_find_package(OpenBabel2) -macro_optional_find_package(Eigen2) +macro_optional_find_package(Eigen3) macro_optional_find_package(Avogadro 1.0.0 NO_MODULE) find_package(PkgConfig) @@ -14,7 +14,7 @@ check_include_files(ieeefp.h HAVE_IEEEFP_H) macro_bool_to_01(LIBFACILE_FOUND HAVE_FACILE) macro_bool_to_01(OPENBABEL2_FOUND HAVE_OPENBABEL2) -macro_bool_to_01(EIGEN2_FOUND HAVE_EIGEN) +macro_bool_to_01(EIGEN3_FOUND HAVE_EIGEN) macro_bool_to_01(Avogadro_FOUND HAVE_AVOGADRO) # at the end, output the configuration @@ -26,7 +26,7 @@ configure_file( macro_log_feature(OCAML_FOUND "OCaml" "OCaml is needed by Kalzium for the Equation Solver" "http://caml.inria.fr/" FALSE "" "") macro_log_feature(LIBFACILE_FOUND "LibFacile" "libfacile is needed by Kalzium for the Equation Solver." "http://www.recherche.enac.fr/log/facile/" FALSE "" "") macro_log_feature(OPENBABEL2_FOUND "OpenBabel2" "OpenBabel is needed by Kalzium for the 3D-molecule viewer" "http://openbabel.sourceforge.net/" FALSE "2.2" "") -macro_log_feature(EIGEN2_FOUND "Eigen2" "A generic C++ template library for dense and sparse matrices" "http://eigen.tuxfamily.org" FALSE "2.0.0" "") +macro_log_feature(EIGEN3_FOUND "Eigen3" "A generic C++ template library for dense and sparse matrices" "http://eigen.tuxfamily.org" FALSE "3.0.0" "") macro_log_feature(Avogadro_FOUND "Avogadro" "Advanced molecular editor" "http://avogadro.openmolecules.net" FALSE "1.0" "") macro_log_feature(CHEMICAL_MIME_DATA_FOUND "Chemical mime data" "Needed to open CML molecules from the file manager" "http://chemical-mime.sourceforge.net/" FALSE "" "") diff --git a/cmake/modules/FindEigen2.cmake b/cmake/modules/FindEigen2.cmake deleted file mode 100644 index 74e183e..0000000 --- a/cmake/modules/FindEigen2.cmake +++ /dev/null @@ -1,75 +0,0 @@ -# - Try to find Eigen2 lib -# Once done this will define -# -# 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, <montel@kde.org> -# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr> -# Redistribution and use is allowed according to the terms of the BSD license. - -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 - _eigen2_check_version() - set(EIGEN2_FOUND ${EIGEN2_VERSION_OK}) - -else (EIGEN2_INCLUDE_DIR) - -find_path(EIGEN2_INCLUDE_DIR NAMES Eigen/Core - PATHS - ${INCLUDE_INSTALL_DIR} - ${KDE4_INCLUDE_DIR} - PATH_SUFFIXES eigen2 - ) - -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) - -endif(EIGEN2_INCLUDE_DIR) - diff --git a/cmake/modules/FindEigen3.cmake b/cmake/modules/FindEigen3.cmake new file mode 100644 index 0000000..9c546a0 --- /dev/null +++ b/cmake/modules/FindEigen3.cmake @@ -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@kde.org> +# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr> +# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@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 --git a/compoundviewer/CMakeLists.txt b/compoundviewer/CMakeLists.txt index b2b7e6c..0971248 100644 --- a/compoundviewer/CMakeLists.txt +++ b/compoundviewer/CMakeLists.txt @@ -2,7 +2,7 @@ include(${Avogadro_USE_FILE}) include_directories( ${CMAKE_CURRENT_BINARY_DIR}/.. - ${EIGEN2_INCLUDE_DIR} + ${EIGEN3_INCLUDE_DIR} ${OPENBABEL2_INCLUDE_DIR} ) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0ada32e..3cefc58 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -23,7 +23,7 @@ if (OPENBABEL2_FOUND) ) include_directories(${OPENBABEL2_INCLUDE_DIR}) - if (EIGEN2_FOUND AND Avogadro_FOUND) + if (EIGEN3_FOUND AND Avogadro_FOUND) include(${Avogadro_USE_FILE}) @@ -35,8 +35,8 @@ if (OPENBABEL2_FOUND) kde4_add_ui_files(kalziumtools_SRCS tools/moleculeviewerwidget.ui ) - include_directories(${EIGEN2_INCLUDE_DIR}) - endif (EIGEN2_FOUND AND Avogadro_FOUND) + include_directories(${EIGEN3_INCLUDE_DIR}) + endif (EIGEN3_FOUND AND Avogadro_FOUND) endif (OPENBABEL2_FOUND) ## Kalzium calculator files @@ -137,9 +137,9 @@ target_link_libraries(kalzium ${KDE4_KHTML_LIBRARY} ${KDE4_KNEWSTUFF3_LIBS} ${KD if (OPENBABEL2_FOUND) target_link_libraries(kalzium ${OPENBABEL2_LIBRARIES}) - if (EIGEN2_FOUND AND Avogadro_FOUND) + if (EIGEN3_FOUND AND Avogadro_FOUND) target_link_libraries(kalzium ${QT_QTOPENGL_LIBRARY} compoundviewer avogadro) - endif (EIGEN2_FOUND AND Avogadro_FOUND) + endif (EIGEN3_FOUND AND Avogadro_FOUND) endif (OPENBABEL2_FOUND) if (LIBFACILE_FOUND) -- cgit v0.11.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor