Merge pull request #7386 from janetournois/Installation-gmp-jtournois

Installation - add new possible GMP lib name for MSVC
This commit is contained in:
Laurent Rineau 2023-04-21 11:18:56 +02:00
commit 731a774a4f
3 changed files with 20 additions and 6 deletions

View File

@ -26,22 +26,25 @@ if( NOT GMP_in_cache )
NAMES gmp.h
HINTS ENV GMP_INC_DIR
ENV GMP_DIR
$ENV{GMP_DIR}/include
${CGAL_INSTALLATION_PACKAGE_DIR}/auxiliary/gmp/include
PATH_SUFFIXES include
DOC "The directory containing the GMP header files"
)
find_library(GMP_LIBRARY_RELEASE NAMES gmp libgmp-10 mpir
find_library(GMP_LIBRARY_RELEASE NAMES gmp libgmp-10 gmp-10 mpir
HINTS ENV GMP_LIB_DIR
ENV GMP_DIR
$ENV{GMP_DIR}/lib
${CGAL_INSTALLATION_PACKAGE_DIR}/auxiliary/gmp/lib
PATH_SUFFIXES lib
DOC "Path to the Release GMP library"
)
find_library(GMP_LIBRARY_DEBUG NAMES gmpd gmp libgmp-10 mpir
find_library(GMP_LIBRARY_DEBUG NAMES gmpd gmp libgmp-10 gmp-10 mpir
HINTS ENV GMP_LIB_DIR
ENV GMP_DIR
$ENV{GMP_DIR}/include
${CGAL_INSTALLATION_PACKAGE_DIR}/auxiliary/gmp/lib
PATH_SUFFIXES lib
DOC "Path to the Debug GMP library"

View File

@ -25,6 +25,7 @@ if (NOT MPFR_in_cache)
NAMES mpfr.h
HINTS ENV MPFR_INC_DIR
ENV MPFR_DIR
$ENV{MPFR_DIR}/include
${CGAL_INSTALLATION_PACKAGE_DIR}/auxiliary/gmp/include
PATH_SUFFIXES include
DOC "The directory containing the MPFR header files"
@ -33,6 +34,7 @@ if (NOT MPFR_in_cache)
find_library(MPFR_LIBRARIES NAMES mpfr libmpfr-4 libmpfr-1
HINTS ENV MPFR_LIB_DIR
ENV MPFR_DIR
$ENV{MPFR_DIR}/lib
${CGAL_INSTALLATION_PACKAGE_DIR}/auxiliary/gmp/lib
PATH_SUFFIXES lib
DOC "Path to the MPFR library"

View File

@ -8,10 +8,8 @@ int main() {
#define GMP_SONAME "libgmp-10"
#define MPFR_SONAME "libmpfr-4"
#define GMP_SONAME_BACKUP "gmp"
#define GMP_SONAME_BACKUP_2 "gmp-10"
#define MPFR_SONAME_BACKUP "mpfr-6"
#define GMP_MAJOR 5
#define MPFR_MAJOR 3
#include <iostream>
#include <cassert>
@ -35,12 +33,21 @@ bool get_version_info(const LPCTSTR name,
std::cerr << name << " is not loaded!\n";
return false;
}
else
std::cerr << name << " is loaded.\n";
char fileName[_MAX_PATH];
DWORD size = GetModuleFileName(g_dllHandle, fileName, _MAX_PATH);
fileName[size] = NULL;
std::cerr << "Query FileVersion of \"" << fileName << "\"\n";
DWORD handle = 0;
size = GetFileVersionInfoSize(fileName, &handle);
DWORD err = GetLastError();
if (size == 0) {
std::cerr << "GetFileVersionInfoSize failed with error " << err << std::endl;
}
BYTE* versionInfo = new BYTE[size];
if (!GetFileVersionInfo(fileName, handle, size, versionInfo))
{
@ -66,9 +73,11 @@ int main() {
int major, minor, patch, build;
if(!get_version_info(GMP_SONAME, major, minor, patch, build)) {
if(!get_version_info(GMP_SONAME_BACKUP, major, minor, patch, build)) {
if (!get_version_info(GMP_SONAME_BACKUP_2, major, minor, patch, build)) {
return 1;
}
}
}
std::cout << "GMP version "
<< major << "."