From 181f7baa453c58d4070de7196fd74663110946a8 Mon Sep 17 00:00:00 2001 From: est31 Date: Sun, 12 Apr 2015 06:18:48 +0200 Subject: Add LibGMP Uses system provided libgmp if found, if not it falls back to mini-gmp. --- cmake/Modules/FindGMP.cmake | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 cmake/Modules/FindGMP.cmake (limited to 'cmake') diff --git a/cmake/Modules/FindGMP.cmake b/cmake/Modules/FindGMP.cmake new file mode 100644 index 000000000..bb48289c5 --- /dev/null +++ b/cmake/Modules/FindGMP.cmake @@ -0,0 +1,28 @@ + +option(ENABLE_SYSTEM_GMP "Use GMP from system" TRUE) +mark_as_advanced(GMP_LIBRARY GMP_INCLUDE_DIR) +set(USE_SYSTEM_GMP FALSE) + +if(ENABLE_SYSTEM_GMP) + find_library(GMP_LIBRARY NAMES libgmp.so) + find_path(GMP_INCLUDE_DIR NAMES gmp.h) + + if(GMP_LIBRARY AND GMP_INCLUDE_DIR) + message (STATUS "Using GMP provided by system.") + set(USE_SYSTEM_GMP TRUE) + else() + message (STATUS "Detecting GMP from system failed.") + endif() +else() + message (STATUS "Detecting GMP from system disabled! (ENABLE_SYSTEM_GMP=0)") +endif() + +if(NOT USE_SYSTEM_GMP) + message(STATUS "Using bundled mini-gmp library.") + set(GMP_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/gmp) + set(GMP_LIBRARY gmp) + add_subdirectory(gmp) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(GMP DEFAULT_MSG GMP_LIBRARY GMP_INCLUDE_DIR) -- cgit v1.2.3