mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-06-04 18:54:00 +08:00
Remove code checking for CMake < 3.5
As the CMake version is at least 3.5 the code checking for earlier versions can be removed.
This commit is contained in:
parent
751f18f2c0
commit
cf0b5b0344
106
CMakeLists.txt
106
CMakeLists.txt
@ -592,82 +592,48 @@ set ( EIGEN_DEFINITIONS "")
|
|||||||
set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
|
set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
|
||||||
set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
|
set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
|
||||||
|
|
||||||
# Interface libraries require at least CMake 3.0
|
include (CMakePackageConfigHelpers)
|
||||||
if (NOT CMAKE_VERSION VERSION_LESS 3.0)
|
|
||||||
include (CMakePackageConfigHelpers)
|
|
||||||
|
|
||||||
# Imported target support
|
# Imported target support
|
||||||
add_library (eigen INTERFACE)
|
add_library (eigen INTERFACE)
|
||||||
add_library (Eigen3::Eigen ALIAS eigen)
|
add_library (Eigen3::Eigen ALIAS eigen)
|
||||||
target_compile_definitions (eigen INTERFACE ${EIGEN_DEFINITIONS})
|
target_compile_definitions (eigen INTERFACE ${EIGEN_DEFINITIONS})
|
||||||
target_include_directories (eigen INTERFACE
|
target_include_directories (eigen INTERFACE
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
|
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
|
||||||
)
|
)
|
||||||
|
|
||||||
# Export as title case Eigen
|
# Export as title case Eigen
|
||||||
set_target_properties (eigen PROPERTIES EXPORT_NAME Eigen)
|
set_target_properties (eigen PROPERTIES EXPORT_NAME Eigen)
|
||||||
|
|
||||||
install (TARGETS eigen EXPORT Eigen3Targets)
|
install (TARGETS eigen EXPORT Eigen3Targets)
|
||||||
|
|
||||||
configure_package_config_file (
|
configure_package_config_file (
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3Config.cmake.in
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3Config.cmake.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
|
||||||
PATH_VARS EIGEN_INCLUDE_DIR EIGEN_ROOT_DIR
|
PATH_VARS EIGEN_INCLUDE_DIR EIGEN_ROOT_DIR
|
||||||
INSTALL_DESTINATION ${CMAKEPACKAGE_INSTALL_DIR}
|
INSTALL_DESTINATION ${CMAKEPACKAGE_INSTALL_DIR}
|
||||||
NO_CHECK_REQUIRED_COMPONENTS_MACRO # Eigen does not provide components
|
NO_CHECK_REQUIRED_COMPONENTS_MACRO # Eigen does not provide components
|
||||||
)
|
)
|
||||||
# Remove CMAKE_SIZEOF_VOID_P from Eigen3ConfigVersion.cmake since Eigen does
|
# Remove CMAKE_SIZEOF_VOID_P from Eigen3ConfigVersion.cmake since Eigen does
|
||||||
# not depend on architecture specific settings or libraries. More
|
# not depend on architecture specific settings or libraries. More
|
||||||
# specifically, an Eigen3Config.cmake generated from a 64 bit target can be
|
# specifically, an Eigen3Config.cmake generated from a 64 bit target can be
|
||||||
# used for 32 bit targets as well (and vice versa).
|
# used for 32 bit targets as well (and vice versa).
|
||||||
set (_Eigen3_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P})
|
set (_Eigen3_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P})
|
||||||
unset (CMAKE_SIZEOF_VOID_P)
|
unset (CMAKE_SIZEOF_VOID_P)
|
||||||
write_basic_package_version_file (Eigen3ConfigVersion.cmake
|
write_basic_package_version_file (Eigen3ConfigVersion.cmake
|
||||||
VERSION ${EIGEN_VERSION_NUMBER}
|
VERSION ${EIGEN_VERSION_NUMBER}
|
||||||
COMPATIBILITY SameMajorVersion)
|
COMPATIBILITY SameMajorVersion)
|
||||||
set (CMAKE_SIZEOF_VOID_P ${_Eigen3_CMAKE_SIZEOF_VOID_P})
|
set (CMAKE_SIZEOF_VOID_P ${_Eigen3_CMAKE_SIZEOF_VOID_P})
|
||||||
|
|
||||||
# The Eigen target will be located in the Eigen3 namespace. Other CMake
|
# The Eigen target will be located in the Eigen3 namespace. Other CMake
|
||||||
# targets can refer to it using Eigen3::Eigen.
|
# targets can refer to it using Eigen3::Eigen.
|
||||||
export (TARGETS eigen NAMESPACE Eigen3:: FILE Eigen3Targets.cmake)
|
export (TARGETS eigen NAMESPACE Eigen3:: FILE Eigen3Targets.cmake)
|
||||||
# Export Eigen3 package to CMake registry such that it can be easily found by
|
# Export Eigen3 package to CMake registry such that it can be easily found by
|
||||||
# CMake even if it has not been installed to a standard directory.
|
# CMake even if it has not been installed to a standard directory.
|
||||||
export (PACKAGE Eigen3)
|
export (PACKAGE Eigen3)
|
||||||
|
|
||||||
install (EXPORT Eigen3Targets NAMESPACE Eigen3:: DESTINATION ${CMAKEPACKAGE_INSTALL_DIR})
|
install (EXPORT Eigen3Targets NAMESPACE Eigen3:: DESTINATION ${CMAKEPACKAGE_INSTALL_DIR})
|
||||||
|
|
||||||
else ()
|
|
||||||
# Fallback to legacy Eigen3Config.cmake without the imported target
|
|
||||||
|
|
||||||
# If CMakePackageConfigHelpers module is available (CMake >= 2.8.8)
|
|
||||||
# create a relocatable Config file, otherwise leave the hardcoded paths
|
|
||||||
include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE CPCH_PATH)
|
|
||||||
|
|
||||||
if(CPCH_PATH)
|
|
||||||
configure_package_config_file (
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3ConfigLegacy.cmake.in
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
|
|
||||||
PATH_VARS EIGEN_INCLUDE_DIR EIGEN_ROOT_DIR
|
|
||||||
INSTALL_DESTINATION ${CMAKEPACKAGE_INSTALL_DIR}
|
|
||||||
NO_CHECK_REQUIRED_COMPONENTS_MACRO # Eigen does not provide components
|
|
||||||
)
|
|
||||||
else()
|
|
||||||
# The PACKAGE_* variables are defined by the configure_package_config_file
|
|
||||||
# but without it we define them manually to the hardcoded paths
|
|
||||||
set(PACKAGE_INIT "")
|
|
||||||
set(PACKAGE_EIGEN_INCLUDE_DIR ${EIGEN_INCLUDE_DIR})
|
|
||||||
set(PACKAGE_EIGEN_ROOT_DIR ${EIGEN_ROOT_DIR})
|
|
||||||
configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3ConfigLegacy.cmake.in
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
|
|
||||||
@ONLY ESCAPE_QUOTES )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
write_basic_package_version_file( Eigen3ConfigVersion.cmake
|
|
||||||
VERSION ${EIGEN_VERSION_NUMBER}
|
|
||||||
COMPATIBILITY SameMajorVersion )
|
|
||||||
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UseEigen3.cmake
|
install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/UseEigen3.cmake
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
|
${CMAKE_CURRENT_BINARY_DIR}/Eigen3Config.cmake
|
||||||
|
@ -137,16 +137,15 @@ if(EXISTS ${eigen_full_path_to_testing_lapack})
|
|||||||
add_subdirectory(testing/MATGEN)
|
add_subdirectory(testing/MATGEN)
|
||||||
add_subdirectory(testing/LIN)
|
add_subdirectory(testing/LIN)
|
||||||
add_subdirectory(testing/EIG)
|
add_subdirectory(testing/EIG)
|
||||||
cmake_policy(SET CMP0026 OLD)
|
|
||||||
macro(add_lapack_test output input target)
|
macro(add_lapack_test output input target)
|
||||||
set(TEST_INPUT "${LAPACK_SOURCE_DIR}/testing/${input}")
|
set(TEST_INPUT "${LAPACK_SOURCE_DIR}/testing/${input}")
|
||||||
set(TEST_OUTPUT "${LAPACK_BINARY_DIR}/TESTING/${output}")
|
set(TEST_OUTPUT "${LAPACK_BINARY_DIR}/TESTING/${output}")
|
||||||
get_target_property(TEST_LOC ${target} LOCATION)
|
|
||||||
string(REPLACE "." "_" input_name ${input})
|
string(REPLACE "." "_" input_name ${input})
|
||||||
set(testName "${target}_${input_name}")
|
set(testName "${target}_${input_name}")
|
||||||
if(EXISTS "${TEST_INPUT}")
|
if(EXISTS "${TEST_INPUT}")
|
||||||
add_test(LAPACK-${testName} "${CMAKE_COMMAND}"
|
add_test(NAME LAPACK-${testName}
|
||||||
-DTEST=${TEST_LOC}
|
COMMAND "${CMAKE_COMMAND}"
|
||||||
|
-DTEST=$<TARGET_FILE:${target}>
|
||||||
-DINPUT=${TEST_INPUT}
|
-DINPUT=${TEST_INPUT}
|
||||||
-DOUTPUT=${TEST_OUTPUT}
|
-DOUTPUT=${TEST_OUTPUT}
|
||||||
-DINTDIR=${CMAKE_CFG_INTDIR}
|
-DINTDIR=${CMAKE_CFG_INTDIR}
|
||||||
|
@ -321,18 +321,11 @@ if(CUDA_FOUND AND EIGEN_TEST_CUDA)
|
|||||||
set(EIGEN_CUDA_RELAXED_CONSTEXPR "--relaxed-constexpr")
|
set(EIGEN_CUDA_RELAXED_CONSTEXPR "--relaxed-constexpr")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(( (NOT EIGEN_TEST_CXX11) OR (CMAKE_VERSION VERSION_LESS 3.3)) AND EIGEN_TEST_CXX11)
|
|
||||||
set(EIGEN_CUDA_CXX11_FLAG "-std=c++11")
|
|
||||||
else()
|
|
||||||
# otherwise the flag has already been added because of the above set(CMAKE_CXX_STANDARD 11)
|
|
||||||
set(EIGEN_CUDA_CXX11_FLAG "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(NVCC_ARCH_FLAGS)
|
set(NVCC_ARCH_FLAGS)
|
||||||
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
foreach(ARCH IN LISTS EIGEN_CUDA_COMPUTE_ARCH)
|
||||||
string(APPEND NVCC_ARCH_FLAGS " -gencode arch=compute_${ARCH},code=sm_${ARCH}")
|
string(APPEND NVCC_ARCH_FLAGS " -gencode arch=compute_${ARCH},code=sm_${ARCH}")
|
||||||
endforeach()
|
endforeach()
|
||||||
set(CUDA_NVCC_FLAGS "${EIGEN_CUDA_CXX11_FLAG} ${EIGEN_CUDA_RELAXED_CONSTEXPR} -Xcudafe \"--display_error_number\" ${NVCC_ARCH_FLAGS} ${CUDA_NVCC_FLAGS}")
|
set(CUDA_NVCC_FLAGS "${EIGEN_CUDA_RELAXED_CONSTEXPR} -Xcudafe \"--display_error_number\" ${NVCC_ARCH_FLAGS} ${CUDA_NVCC_FLAGS}")
|
||||||
cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include")
|
cuda_include_directories("${CMAKE_CURRENT_BINARY_DIR}" "${CUDA_TOOLKIT_ROOT_DIR}/include")
|
||||||
set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu")
|
set(EIGEN_ADD_TEST_FILENAME_EXTENSION "cu")
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user