Skip to content

Commit 43d9d02

Browse files
fix: Fix build errors with GCC 15 and optimize third-party library build time (#50)
1 parent 67ec385 commit 43d9d02

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -249,8 +249,12 @@ macro(build_fmt)
249249
string(REPLACE "-Werror" "" FMT_CMAKE_CXX_FLAGS ${FMT_CMAKE_CXX_FLAGS})
250250

251251
set(FMT_CMAKE_ARGS
252-
${EP_COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${FMT_PREFIX}
253-
"-DCMAKE_CXX_FLAGS=${FMT_CMAKE_CXX_FLAGS}" "-DCMAKE_C_FLAGS=${FMT_CMAKE_C_FLAGS}")
252+
${EP_COMMON_CMAKE_ARGS}
253+
-DCMAKE_INSTALL_PREFIX=${FMT_PREFIX}
254+
"-DCMAKE_CXX_FLAGS=${FMT_CMAKE_CXX_FLAGS}"
255+
"-DCMAKE_C_FLAGS=${FMT_CMAKE_C_FLAGS}"
256+
-DFMT_TEST=OFF
257+
-DFMT_DOC=OFF)
254258
set(FMT_CONFIGURE CMAKE_ARGS ${FMT_CMAKE_ARGS})
255259
externalproject_add(fmt_ep
256260
URL ${FMT_SOURCE_URL}
@@ -337,7 +341,8 @@ macro(build_zstd)
337341
-DCMAKE_INSTALL_PREFIX=${ZSTD_PREFIX}
338342
"-DCMAKE_CXX_FLAGS=${ZSTD_CMAKE_CXX_FLAGS}"
339343
"-DCMAKE_C_FLAGS=${ZSTD_CMAKE_C_FLAGS}"
340-
-DZSTD_BUILD_SHARED=OFF)
344+
-DZSTD_BUILD_SHARED=OFF
345+
-DZSTD_BUILD_PROGRAMS=OFF)
341346

342347
set(ZSTD_CONFIGURE SOURCE_SUBDIR "build/cmake" CMAKE_ARGS ${ZSTD_CMAKE_ARGS})
343348
externalproject_add(zstd_ep
@@ -363,7 +368,8 @@ macro(build_lz4)
363368
"${LZ4_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}lz4${CMAKE_STATIC_LIBRARY_SUFFIX}"
364369
)
365370
set(LZ4_LIBRARIES ${LZ4_STATIC_LIB})
366-
set(LZ4_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${LZ4_PREFIX})
371+
set(LZ4_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} -DCMAKE_INSTALL_PREFIX=${LZ4_PREFIX}
372+
-DLZ4_BUILD_CLI=OFF -DLZ4_BUILD_LEGACY_LZ4C=OFF)
367373

368374
set(LZ4_CONFIGURE SOURCE_SUBDIR "build/cmake" CMAKE_ARGS ${LZ4_CMAKE_ARGS})
369375
externalproject_add(lz4_ep
@@ -701,6 +707,9 @@ macro(build_arrow)
701707
set(ARROW_CMAKE_CXX_FLAGS "${EP_CXX_FLAGS} -Wno-error")
702708
set(ARROW_CMAKE_C_FLAGS "${EP_C_FLAGS} -Wno-error")
703709
string(REPLACE "-Werror" "" ARROW_CMAKE_CXX_FLAGS ${ARROW_CMAKE_CXX_FLAGS})
710+
# Fix for thrift Mutex.h missing #include <cstdint> (GCC 15 strictness)
711+
# Use -include to force include cstdint for all C++ files
712+
string(APPEND ARROW_CMAKE_CXX_FLAGS " -include cstdint")
704713

705714
set(ARROW_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/arrow_ep-install")
706715
set(ARROW_HOME "${ARROW_PREFIX}")
@@ -738,6 +747,9 @@ macro(build_arrow)
738747
-DARROW_DEPENDENCY_USE_SHARED=OFF
739748
-DARROW_BUILD_SHARED=OFF
740749
-DARROW_BUILD_STATIC=ON
750+
-DARROW_BUILD_TESTS=OFF
751+
-DARROW_BUILD_BENCHMARKS=OFF
752+
-DARROW_BUILD_EXAMPLES=OFF
741753
-DARROW_JEMALLOC=OFF
742754
-DARROW_WITH_RE2=OFF
743755
-DARROW_WITH_UTF8PROC=OFF

0 commit comments

Comments
 (0)