53 lines
1.9 KiB
CMake
53 lines
1.9 KiB
CMake
|
# This module setups the compiler for the MPFI library.
|
||
|
# It assumes that find_package(MPFI) was already called.
|
||
|
|
||
|
if( MPFI_FOUND AND NOT MPFI_SETUP )
|
||
|
|
||
|
if (GMP_FOUND AND MPFR_FOUND)
|
||
|
|
||
|
message( STATUS "UseMPFI" )
|
||
|
message( STATUS "MPFI include: ${MPFI_INCLUDE_DIR}" )
|
||
|
message( STATUS "MPFI definitions: ${MPFI_DEFINITIONS}" )
|
||
|
message( STATUS "MPFI libraries: ${MPFI_LIBRARIES}" )
|
||
|
|
||
|
try_run( MPFI_TEST_RESULT
|
||
|
COMPILED_MPFI_TEST
|
||
|
"${CMAKE_BINARY_DIR}"
|
||
|
"${CGAL_MODULES_DIR}/test_MPFI.cpp"
|
||
|
CMAKE_FLAGS
|
||
|
"-DINCLUDE_DIRECTORIES:
|
||
|
STRING=${MPFI_INCLUDE_DIR};${GMP_INCLUDE_DIR};${MPFR_INCLUDE_DIR}"
|
||
|
"-DLINK_LIBRARIES:
|
||
|
STRING=${MPFI_LIBRARIES};${GMP_LIBRARIES};${MPFR_LIBRARIES}"
|
||
|
"-DLINK_DIRECTORIES:
|
||
|
STRING=${MPFI_LIBRARIES_DIR};${GMP_LIBRARIES_DIRS};${MPFR_LIBRARIES}"
|
||
|
COMPILE_OUTPUT_VARIABLE MPFI_TEST_COMPILATION_OUTPUT
|
||
|
)
|
||
|
|
||
|
if( COMPILED_MPFI_TEST AND MPFI_TEST_RESULT EQUAL 0)
|
||
|
include_directories( SYSTEM ${MPFI_INCLUDE_DIR} )
|
||
|
link_directories( ${MPFI_LIBRARIES_DIR} )
|
||
|
add_definitions( ${MPFI_DEFINITIONS} "-DCGAL_USE_MPFI" )
|
||
|
link_libraries( ${MPFI_LIBRARIES} )
|
||
|
else( COMPILED_MPFI_TEST AND MPFI_TEST_RESULT EQUAL 0)
|
||
|
if (CGAL_ENABLE_PRECONFIG)
|
||
|
message( STATUS "MPFI is incorrectly configured with CGAL" )
|
||
|
else()
|
||
|
message( STATUS "MPFI is incorrectly configured on this system" )
|
||
|
endif()
|
||
|
message( STATUS
|
||
|
"Output of the failed MPFI test was:\n${MPFI_TEST_COMPILATION_OUTPUT}" )
|
||
|
message( STATUS "End of the MPFI test output" )
|
||
|
endif( COMPILED_MPFI_TEST AND MPFI_TEST_RESULT EQUAL 0)
|
||
|
|
||
|
set( MPFI_SETUP TRUE )
|
||
|
|
||
|
else()
|
||
|
|
||
|
message( STATUS "MPFI needs GMP and MPFR" )
|
||
|
|
||
|
endif()
|
||
|
|
||
|
endif( MPFI_FOUND AND NOT MPFI_SETUP )
|
||
|
|