Fix building with GCC 15 (#9643)

* Patch GMP to build on GCC15

* Add cstdint include - GCC15 defaults to C23

* Update GMP PATCH_COMMAND to work without a valid git repo

* Set GMP_DIRECTORY_FLAG
This commit is contained in:
Maciej Lisiewski
2025-05-16 17:48:59 +02:00
committed by GitHub
parent 9110dd51dc
commit 2490564f7f
3 changed files with 44 additions and 6 deletions

13
deps/GMP/GMP.cmake vendored
View File

@@ -1,9 +1,13 @@
set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/gmp)
if (IN_GIT_REPO)
set(GMP_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_GMP-prefix/src/dep_GMP)
endif ()
if (MSVC)
set(_output ${DESTDIR}/include/gmp.h
${DESTDIR}/lib/libgmp-10.lib
set(_output ${DESTDIR}/include/gmp.h
${DESTDIR}/lib/libgmp-10.lib
${DESTDIR}/bin/libgmp-10.dll)
add_custom_command(
@@ -12,7 +16,7 @@ if (MSVC)
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${DESTDIR}/lib/
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${DESTDIR}/bin/
)
add_custom_target(dep_GMP SOURCES ${_output})
else ()
@@ -59,7 +63,8 @@ else ()
URL https://github.com/SoftFever/OrcaSlicer_deps/releases/download/gmp-6.2.1/gmp-6.2.1.tar.bz2
URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP
BUILD_IN_SOURCE ON
PATCH_COMMAND git apply ${GMP_DIRECTORY_FLAG} --verbose ${CMAKE_CURRENT_LIST_DIR}/0001-GMP_GCC15.patch
BUILD_IN_SOURCE ON
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}" ${_gmp_build_tgt}
BUILD_COMMAND make -j
INSTALL_COMMAND make install