File tree Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Expand file tree Collapse file tree 2 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -81,6 +81,8 @@ function(download_and_build_arrow)
81
81
set (VERSION_PATCH "-DCMAKE_POLICY_VERSION_MINIMUM=${CMAKE_POLICY_VERSION_MINIMUM} " )
82
82
endif ()
83
83
84
+ set (MIMALLOC_PATCH ${CMAKE_CURRENT_LIST_DIR} /patches/mimalloc_cmake4.patch)
85
+
84
86
ExternalProject_Add(
85
87
arrow_cpp
86
88
PREFIX ${ARROW_DOWNLOAD_PATH}
@@ -90,6 +92,10 @@ function(download_and_build_arrow)
90
92
GIT_PROGRESS OFF # Git progress sounds like a nice idea but is in practice very spammy.
91
93
UPDATE_COMMAND "" # Prevent unnecessary rebuilds on every cmake --build
92
94
95
+ # Apply patch after checkout but before configure
96
+ # TODO(apache/arrow#45985): Arrow can't support CMake 4.0 yet
97
+ PATCH_COMMAND git apply --check ${MIMALLOC_PATCH} && git apply ${MIMALLOC_PATCH} || true
98
+
93
99
# LOG_X ON means that the output of the command will
94
100
# be logged to a file _instead_ of printed to the console.
95
101
LOG_CONFIGURE ON
Original file line number Diff line number Diff line change
1
+ diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
2
+ index db151b4e0f..5127744637 100644
3
+ --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
4
+ +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
5
+ @@ -2254,6 +2254,13 @@ if(ARROW_MIMALLOC)
6
+ "${MIMALLOC_PREFIX}/lib/mimalloc-2.0/${CMAKE_STATIC_LIBRARY_PREFIX}${MIMALLOC_LIB_BASE_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}"
7
+ )
8
+
9
+ + if (CMAKE_POLICY_VERSION_MINIMUM)
10
+ + set(MIMALLOC_POLICY_ARGS
11
+ + -DCMAKE_POLICY_VERSION_MINIMUM=${CMAKE_POLICY_VERSION_MINIMUM})
12
+ + else()
13
+ + set(MIMALLOC_POLICY_ARGS "")
14
+ + endif()
15
+ +
16
+ set(MIMALLOC_CMAKE_ARGS
17
+ ${EP_COMMON_CMAKE_ARGS}
18
+ "-DCMAKE_INSTALL_PREFIX=${MIMALLOC_PREFIX}"
19
+ @@ -2261,7 +2268,9 @@ if(ARROW_MIMALLOC)
20
+ -DMI_LOCAL_DYNAMIC_TLS=ON
21
+ -DMI_BUILD_OBJECT=OFF
22
+ -DMI_BUILD_SHARED=OFF
23
+ - -DMI_BUILD_TESTS=OFF)
24
+ + -DMI_BUILD_TESTS=OFF
25
+ + ${MIMALLOC_POLICY_ARGS}
26
+ + )
27
+
28
+ externalproject_add(mimalloc_ep
29
+ ${EP_COMMON_OPTIONS}
You can’t perform that action at this time.
0 commit comments