From 5e3c5c42f6471ba0b1cd1de78e3139d2e0a4c2bb Mon Sep 17 00:00:00 2001 From: Sergiu Deitsch Date: Wed, 30 Nov 2016 15:46:46 +0100 Subject: cmake: remove architecture dependency from Eigen3ConfigVersion.cmake Also, install Eigen3*.cmake under $prefix/share/eigen3/cmake by default. (grafted from 86ab00cdcfc81ef7ebc92ddc3314d7df67c65354 ) --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c1520d7d..a7d3446d2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -380,7 +380,7 @@ else() ) endif() set(CMAKEPACKAGE_INSTALL_DIR - "${CMAKE_INSTALL_LIBDIR}/cmake/eigen3" + "${CMAKE_INSTALL_DATADIR}/eigen3/cmake" CACHE PATH "The directory relative to CMAKE_PREFIX_PATH where Eigen3Config.cmake is installed" ) set(PKGCONFIG_INSTALL_DIR @@ -534,8 +534,15 @@ if (NOT CMAKE_VERSION VERSION_LESS 3.0) INSTALL_DESTINATION ${CMAKEPACKAGE_INSTALL_DIR} NO_CHECK_REQUIRED_COMPONENTS_MACRO # Eigen does not provide components ) + # Remove CMAKE_SIZEOF_VOID_P from Eigen3ConfigVersion.cmake since Eigen does + # not depend on architecture specific settings or libraries. More + # specifically, an Eigen3Config.cmake generated from a 64 bit target can be + # used for 32 bit targets as well (and vice versa). + set (_Eigen3_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P}) + unset (CMAKE_SIZEOF_VOID_P) write_basic_package_version_file (Eigen3ConfigVersion.cmake VERSION ${EIGEN_VERSION_NUMBER} COMPATIBILITY SameMajorVersion) + set (CMAKE_SIZEOF_VOID_P ${_Eigen3_CMAKE_SIZEOF_VOID_P}) # The Eigen target will be located in the Eigen3 namespace. Other CMake # targets can refer to it using Eigen3::Eigen. -- cgit v1.2.3