summaryrefslogtreecommitdiff
path: root/cmake/Modules/FindGMP.cmake
blob: 64a57cfe07b11f79ca8d32cd2a391fcd9b2d852b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 ${CMAKE_CURRENT_SOURCE_DIR}/lib/gmp)
	set(GMP_LIBRARY gmp)
	add_subdirectory(lib/gmp)
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GMP DEFAULT_MSG GMP_LIBRARY GMP_INCLUDE_DIR)