mirror of
https://gitlab.com/libeigen/eigen.git
synced 2024-12-21 07:19:46 +08:00
Determine version of Metis library. Apparently, at least version 5.x is needed for Eigen/MetisSupport.
Marked some internal variables as advanced
This commit is contained in:
parent
5633cde9ad
commit
547d660f1d
@ -86,4 +86,4 @@ include(FindPackageHandleStandardArgs)
|
|||||||
find_package_handle_standard_args(CHOLMOD DEFAULT_MSG
|
find_package_handle_standard_args(CHOLMOD DEFAULT_MSG
|
||||||
CHOLMOD_INCLUDES CHOLMOD_LIBRARIES)
|
CHOLMOD_INCLUDES CHOLMOD_LIBRARIES)
|
||||||
|
|
||||||
mark_as_advanced(CHOLMOD_INCLUDES CHOLMOD_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY SUITESPARSE_LIBRARY)
|
mark_as_advanced(CHOLMOD_INCLUDES CHOLMOD_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY SUITESPARSE_LIBRARY CAMD_LIBRARY CCOLAMD_LIBRARY CHOLMOD_METIS_LIBRARY)
|
||||||
|
@ -115,5 +115,5 @@ include(FindPackageHandleStandardArgs)
|
|||||||
find_package_handle_standard_args(FFTW DEFAULT_MSG
|
find_package_handle_standard_args(FFTW DEFAULT_MSG
|
||||||
FFTW_INCLUDES FFTW_LIBRARIES)
|
FFTW_INCLUDES FFTW_LIBRARIES)
|
||||||
|
|
||||||
mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES)
|
mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES FFTW_LIB FFTWF_LIB FFTWL_LIB)
|
||||||
|
|
||||||
|
@ -10,16 +10,50 @@ find_path(METIS_INCLUDES
|
|||||||
PATHS
|
PATHS
|
||||||
$ENV{METISDIR}
|
$ENV{METISDIR}
|
||||||
${INCLUDE_INSTALL_DIR}
|
${INCLUDE_INSTALL_DIR}
|
||||||
PATH_SUFFIXES
|
PATH_SUFFIXES
|
||||||
|
.
|
||||||
metis
|
metis
|
||||||
include
|
include
|
||||||
)
|
)
|
||||||
|
|
||||||
|
macro(_metis_check_version)
|
||||||
|
file(READ "${METIS_INCLUDES}/metis.h" _metis_version_header)
|
||||||
|
|
||||||
|
string(REGEX MATCH "define[ \t]+METIS_VER_MAJOR[ \t]+([0-9]+)" _metis_major_version_match "${_metis_version_header}")
|
||||||
|
set(METIS_MAJOR_VERSION "${CMAKE_MATCH_1}")
|
||||||
|
string(REGEX MATCH "define[ \t]+METIS_VER_MINOR[ \t]+([0-9]+)" _metis_minor_version_match "${_metis_version_header}")
|
||||||
|
set(METIS_MINOR_VERSION "${CMAKE_MATCH_1}")
|
||||||
|
string(REGEX MATCH "define[ \t]+METIS_VER_SUBMINOR[ \t]+([0-9]+)" _metis_subminor_version_match "${_metis_version_header}")
|
||||||
|
set(METIS_SUBMINOR_VERSION "${CMAKE_MATCH_1}")
|
||||||
|
if(NOT METIS_MAJOR_VERSION)
|
||||||
|
message(WARNING "Could not determine Metis version. Assuming version 4.0.0")
|
||||||
|
set(METIS_VERSION 4.0.0)
|
||||||
|
else()
|
||||||
|
set(METIS_VERSION ${METIS_MAJOR_VERSION}.${METIS_MINOR_VERSION}.${METIS_SUBMINOR_VERSION})
|
||||||
|
endif()
|
||||||
|
if(${METIS_VERSION} VERSION_LESS ${Metis_FIND_VERSION})
|
||||||
|
set(METIS_VERSION_OK FALSE)
|
||||||
|
else()
|
||||||
|
set(METIS_VERSION_OK TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT METIS_VERSION_OK)
|
||||||
|
message(STATUS "Metis version ${METIS_VERSION} found in ${METIS_INCLUDES}, "
|
||||||
|
"but at least version ${Metis_FIND_VERSION} is required")
|
||||||
|
endif(NOT METIS_VERSION_OK)
|
||||||
|
endmacro(_metis_check_version)
|
||||||
|
|
||||||
|
if(METIS_INCLUDES AND Metis_FIND_VERSION)
|
||||||
|
_metis_check_version()
|
||||||
|
else()
|
||||||
|
set(METIS_VERSION_OK TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
find_library(METIS_LIBRARIES metis PATHS $ENV{METISDIR} ${LIB_INSTALL_DIR} PATH_SUFFIXES lib)
|
find_library(METIS_LIBRARIES metis PATHS $ENV{METISDIR} ${LIB_INSTALL_DIR} PATH_SUFFIXES lib)
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
find_package_handle_standard_args(METIS DEFAULT_MSG
|
find_package_handle_standard_args(METIS DEFAULT_MSG
|
||||||
METIS_INCLUDES METIS_LIBRARIES)
|
METIS_INCLUDES METIS_LIBRARIES METIS_VERSION_OK)
|
||||||
|
|
||||||
mark_as_advanced(METIS_INCLUDES METIS_LIBRARIES)
|
mark_as_advanced(METIS_INCLUDES METIS_LIBRARIES)
|
||||||
|
@ -66,7 +66,7 @@ endif()
|
|||||||
|
|
||||||
find_package(Pastix)
|
find_package(Pastix)
|
||||||
find_package(Scotch)
|
find_package(Scotch)
|
||||||
find_package(Metis)
|
find_package(Metis 5.0 REQUIRED)
|
||||||
if(PASTIX_FOUND AND BLAS_FOUND)
|
if(PASTIX_FOUND AND BLAS_FOUND)
|
||||||
add_definitions("-DEIGEN_PASTIX_SUPPORT")
|
add_definitions("-DEIGEN_PASTIX_SUPPORT")
|
||||||
include_directories(${PASTIX_INCLUDES})
|
include_directories(${PASTIX_INCLUDES})
|
||||||
@ -279,6 +279,7 @@ ei_add_property(EIGEN_TESTING_SUMMARY "CXX_FLAGS: ${CMAKE_CXX_FLAGS}\n")
|
|||||||
ei_add_property(EIGEN_TESTING_SUMMARY "Sparse lib flags: ${SPARSE_LIBS}\n")
|
ei_add_property(EIGEN_TESTING_SUMMARY "Sparse lib flags: ${SPARSE_LIBS}\n")
|
||||||
|
|
||||||
option(EIGEN_TEST_EIGEN2 "Run whole Eigen2 test suite against EIGEN2_SUPPORT" OFF)
|
option(EIGEN_TEST_EIGEN2 "Run whole Eigen2 test suite against EIGEN2_SUPPORT" OFF)
|
||||||
|
mark_as_advanced(EIGEN_TEST_EIGEN2)
|
||||||
if(EIGEN_TEST_EIGEN2)
|
if(EIGEN_TEST_EIGEN2)
|
||||||
add_subdirectory(eigen2)
|
add_subdirectory(eigen2)
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user