diff options
author | est31 <MTest31@outlook.com> | 2015-04-12 06:18:48 +0200 |
---|---|---|
committer | est31 <MTest31@outlook.com> | 2015-05-11 17:48:33 +0200 |
commit | 181f7baa453c58d4070de7196fd74663110946a8 (patch) | |
tree | 3a7f8d55b3d633aa25b66b864fc83272a10197c3 /cmake/Modules | |
parent | 58eae43322ffa83f634b4199176f4e1bae0cbcde (diff) | |
download | minetest-181f7baa453c58d4070de7196fd74663110946a8.tar.gz minetest-181f7baa453c58d4070de7196fd74663110946a8.tar.bz2 minetest-181f7baa453c58d4070de7196fd74663110946a8.zip |
Add LibGMP
Uses system provided libgmp if found, if not it falls back to mini-gmp.
Diffstat (limited to 'cmake/Modules')
-rw-r--r-- | cmake/Modules/FindGMP.cmake | 28 |
1 files changed, 28 insertions, 0 deletions
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) |