From b61a12c43fcf0ed81ea9b0de2dfa53f895beec92 Mon Sep 17 00:00:00 2001 From: Laurent Rineau Date: Mon, 25 Jan 2010 14:38:53 +0000 Subject: [PATCH] Merged revisions 53764-53765,53767,53769 via svnmerge from svn+ssh://lrineau@scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.6-branch ........ r53764 | spion | 2010-01-25 13:15:16 +0100 (Mon, 25 Jan 2010) | 2 lines Improve locate() reproducibility. (backport of trunk's revision 53763). ........ r53765 | mcaroli | 2010-01-25 13:33:15 +0100 (Mon, 25 Jan 2010) | 5 lines Remove iterator range removal: The implementation was inefficient and cannot be made efficient easily because there is a problem with the iterator consistency while computing in 27-sheeted covering: One call to remove removes all 27 copies of a point which might make the iterator invalid. ........ r53767 | mcaroli | 2010-01-25 15:08:56 +0100 (Mon, 25 Jan 2010) | 2 lines cleanup in the preconditions ........ r53769 | penarand | 2010-01-25 15:35:43 +0100 (Mon, 25 Jan 2010) | 3 lines moved GMP version check to FindRS.cmake ........ --- Installation/cmake/modules/FindRS.cmake | 50 ++++++++++++++++--------- 1 file changed, 33 insertions(+), 17 deletions(-) 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" )