[CMake] Improve FindGMP (#8846)
authorAndres Noetzli <andres.noetzli@gmail.com>
Mon, 6 Jun 2022 22:16:15 +0000 (15:16 -0700)
committerGitHub <noreply@github.com>
Mon, 6 Jun 2022 22:16:15 +0000 (22:16 +0000)
commit2c03f4bc6910c6f95a42902c2f489c96f502f9e1
tree977d2d61a14a209acdf822f68af038cc8edcbf53
parent9a33f9bb67f97d2de50da199caa3d5d9229aa7bd
[CMake] Improve FindGMP (#8846)

Fixes #8792. This commit fixes issues with/improves our current
implementation of FindGMP:

- Version check that does not rely on regex matches in `gmp.h`. Instead,
  this commit uses a test program that checks at compile-time whether
  the GMP version is recent enough. This is more robust, because on some
  systems (such as Fedora), `gmp.h` includes another file that has that
  version information.
- It now also checks for the `gmpxx.h` header and the `gmpxx` library.
- The commit changes the compile test to use the include directories and
  libraries that were found using `find_path` and `find_library`.
cmake/FindGMP.cmake
cmake/deps-utils/gmp-test.cpp