diff --git a/Installation/cmake/modules/FindRS.cmake b/Installation/cmake/modules/FindRS.cmake index d6e357d01d2..0d2424e65f8 100644 --- a/Installation/cmake/modules/FindRS.cmake +++ b/Installation/cmake/modules/FindRS.cmake @@ -1,8 +1,12 @@ +# RS needs GMP 4.2 or newer, this script will fail if an old version is +# detected + find_package( MPFI ) if( MPFI_FOUND ) include( ${MPFI_USE_FILE} ) + include( CGAL_VersionUtils ) find_path(RS_INCLUDE_DIR NAMES rs_exports.h @@ -28,28 +32,40 @@ if( MPFI_FOUND ) DOC "Path to the RS3 library" ) - if( RS_INCLUDE_DIR AND RS_LIBRARIES ) - set(RS_FOUND TRUE) - endif( RS_INCLUDE_DIR AND RS_LIBRARIES ) + IS_VERSION_LESS("${CGAL_GMP_VERSION}" "4.2.0" _IS_GMP_VERSION_TO_LOW) - if( RS3_INCLUDE_DIR AND RS3_LIBRARIES ) - set(RS3_FOUND TRUE) - endif( RS3_INCLUDE_DIR AND RS3_LIBRARIES ) + if(_IS_GMP_VERSION_TO_LOW) - if( RS_LIBRARIES ) - get_filename_component(RS_LIBRARIES_DIR ${RS_LIBRARIES} PATH CACHE ) - endif( RS_LIBRARIES ) + message( STATUS + "RS needs GMP>=4.2. Your GMP version is ${CGAL_GMP_VERSION}." ) - if( NOT RS_INCLUDE_DIR OR NOT RS_LIBRARIES_DIR ) - include( RSConfig OPTIONAL ) - endif( NOT RS_INCLUDE_DIR OR NOT RS_LIBRARIES_DIR ) + else(_IS_GMP_VERSION_TO_LOW) - include(CGAL_FindPackageHandleStandardArgs) + if( RS_INCLUDE_DIR AND RS_LIBRARIES ) + set(RS_FOUND TRUE) + endif( RS_INCLUDE_DIR AND RS_LIBRARIES ) + + if( RS3_INCLUDE_DIR AND RS3_LIBRARIES ) + set(RS3_FOUND TRUE) + endif( RS3_INCLUDE_DIR AND RS3_LIBRARIES ) + + if( RS_LIBRARIES ) + get_filename_component(RS_LIBRARIES_DIR ${RS_LIBRARIES} PATH CACHE ) + endif( RS_LIBRARIES ) + + if( NOT RS_INCLUDE_DIR OR NOT RS_LIBRARIES_DIR ) + include( RSConfig OPTIONAL ) + endif( NOT RS_INCLUDE_DIR OR NOT RS_LIBRARIES_DIR ) + + include(CGAL_FindPackageHandleStandardArgs) + + find_package_handle_standard_args( RS + "DEFAULT_MSG" + RS_LIBRARIES + RS_INCLUDE_DIR ) + + endif(_IS_GMP_VERSION_TO_LOW) - find_package_handle_standard_args( RS - "DEFAULT_MSG" - RS_LIBRARIES - RS_INCLUDE_DIR ) else( MPFI_FOUND ) message( STATUS "RS requires MPFI" )