dust3d/thirdparty/cgal/CGAL-5.1/cmake/modules/FindNTL.cmake

103 lines
2.8 KiB
CMake
Raw Normal View History

# NTL needs GMP 3.1.1 or newer, this script will fail if an old version is
# detected
find_package( GMP REQUIRED )
if( (TARGET CGAL AND NOT WITH_GMP) OR NOT GMP_FOUND )
message( FATAL_ERROR "NTL requires GMP" )
set( NTL_FOUND FALSE )
else( (TARGET CGAL AND NOT WITH_GMP) OR NOT GMP_FOUND )
include( ${CMAKE_CURRENT_LIST_DIR}/CGAL_VersionUtils.cmake )
get_dependency_version( GMP )
IS_VERSION_LESS("${GMP_VERSION}" "3.1.1" _IS_GMP_VERSION_TOO_LOW)
if( _IS_GMP_VERSION_TOO_LOW )
message( FATAL_ERROR, "NTL needs GMP>=3.1.1. Your GMP version is ${GMP_VERSION}." )
else( _IS_GMP_VERSION_TOO_LOW )
find_path(NTL_INCLUDE_DIR
NAMES NTL/ZZ.h
HINTS ENV NTL_INC_DIR
ENV NTL_DIR
PATH_SUFFIXES include
DOC "The directory containing the NTL include files"
)
find_library(NTL_LIBRARY
NAMES ntl
HINTS ENV NTL_LIB_DIR
ENV NTL_DIR
PATH_SUFFIXES lib
DOC "Path to the NTL library"
)
if ( NTL_INCLUDE_DIR AND NTL_LIBRARY )
#check version
set( NTL_VERSION_H "${NTL_INCLUDE_DIR}/NTL/version.h" )
if ( EXISTS ${NTL_VERSION_H} )
file( READ "${NTL_VERSION_H}" NTL_VERSION_H_CONTENTS )
string( REGEX MATCH "[0-9]+(\\.[0-9]+)+" CGAL_NTL_VERSION "${NTL_VERSION_H_CONTENTS}" )
message( STATUS "DETECTED NTL_VERSION = '${CGAL_NTL_VERSION}'" )
IS_VERSION_GREATER( "${CGAL_NTL_VERSION}" "5.0.0" _IS_NTL_VERSION_GREATER )
if ( _IS_NTL_VERSION_GREATER )
set( NTL_FOUND TRUE )
else ( _IS_NTL_VERSION_GREATER )
set( NTL_FOUND FALSE )
endif ( _IS_NTL_VERSION_GREATER )
endif (EXISTS ${NTL_VERSION_H} )
endif ( NTL_INCLUDE_DIR AND NTL_LIBRARY )
if ( NTL_FOUND )
#message( STATUS "Found NTL in version '${CGAL_NTL_VERSION}'" )
set ( NTL_INCLUDE_DIRS ${NTL_INCLUDE_DIR} )
set ( NTL_LIBRARIES ${NTL_LIBRARY} )
get_filename_component(NTL_LIBRARIES_DIR ${NTL_LIBRARIES} PATH CACHE )
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args( NTL
DEFAULT_MSG
NTL_LIBRARY
NTL_INCLUDE_DIR )
mark_as_advanced( NTL_INCLUDE_DIR NTL_LIBRARY )
# TODO add flag to CGAL Polynomials
endif( NTL_FOUND )
endif( _IS_GMP_VERSION_TOO_LOW )
endif( (TARGET CGAL AND NOT WITH_GMP) OR NOT GMP_FOUND )
if ( NTL_FOUND )
# if ( NOT NTL_FIND_QUIETLY )
# message(STATUS "Found NTL: ${NTL_LIBRARY}")
# endif (NOT NTL_FIND_QUIETLY )
else ( NTL_FOUND )
if ( NTL_FIND_REQUIRED )
message( FATAL_ERROR "Could not find NTL" )
endif ( NTL_FIND_REQUIRED )
endif ( NTL_FOUND )