if(GMP_FOUND)
	message(STATUS "- GMP/MPIR - using system-provided GMP library")
	add_library(external-gmp INTERFACE)
	target_include_directories(external-gmp SYSTEM INTERFACE ${GMP_INCLUDE_DIRS})
	target_link_libraries(external-gmp INTERFACE ${GMP_LIBRARIES})
else()
	if (APPLE OR (WIN32 AND MSVC))
		message(STATUS "- GMP/MPIR - using already built MPIR library")
		add_library(external-mpir SHARED IMPORTED GLOBAL)
		add_library(external-mpirxx SHARED IMPORTED GLOBAL)
		if (WIN32 AND MSVC)
			file(
				COPY ${MPIR_DIR}/win32-msvc/mpir.lib ${MPIR_DIR}/win32-msvc/mpirxx.lib
				DESTINATION ${MESHLAB_LIB_OUTPUT_DIR})
			set_property(TARGET external-mpir PROPERTY IMPORTED_IMPLIB "${MESHLAB_LIB_OUTPUT_DIR}/mpir.lib")
			set_property(TARGET external-mpir PROPERTY IMPORTED_LOCATION "${MESHLAB_LIB_OUTPUT_DIR}/mpir.lib")
			set_property(TARGET external-mpirxx PROPERTY IMPORTED_IMPLIB "${MESHLAB_LIB_OUTPUT_DIR}/mpirxx.lib")
			set_property(TARGET external-mpirxx PROPERTY IMPORTED_LOCATION "${MESHLAB_LIB_OUTPUT_DIR}/mpirxx.lib")
			target_include_directories(external-mpir INTERFACE ${EXTERNAL_DIR}/inc/win32-msvc/mpir-2.2.1_x64)
		elseif(APPLE)
			file(
				COPY ${MPIR_DIR}/macx64/libmpir.a ${MPIR_DIR}/macx64/libmpirxx.a
				DESTINATION ${MESHLAB_LIB_OUTPUT_DIR})
			set_property(TARGET external-mpir PROPERTY IMPORTED_LOCATION "${MESHLAB_LIB_OUTPUT_DIR}/libmpir.a")
			set_property(TARGET external-mpirxx PROPERTY IMPORTED_LOCATION "${MESHLAB_LIB_OUTPUT_DIR}/libmpirxx.a")
			target_include_directories(external-mpir INTERFACE ${EXTERNAL_DIR}/inc/macx64/mpir-2.4.0)
		endif()
	endif()
endif()
