@@ -131,21 +131,14 @@ elseif(WINDOWS AND NOT UMF_DISABLE_HWLOC)
131
131
set (HWLOC_ENABLE_TESTING OFF )
132
132
set (HWLOC_SKIP_LSTOPO ON )
133
133
set (HWLOC_SKIP_TOOLS ON )
134
- set (HWLOC_PATCH
135
- git
136
- apply
137
- ${PROJECT_SOURCE_DIR} /cmake/fix_coverity_issues.patch
138
- ||
139
- (exit 0 ))
140
134
141
135
message (STATUS "Will fetch hwloc from ${UMF_HWLOC_REPO} " )
142
136
143
137
FetchContent_Declare (
144
138
hwloc_targ
145
139
GIT_REPOSITORY ${UMF_HWLOC_REPO}
146
140
GIT_TAG ${UMF_HWLOC_TAG}
147
- PATCH_COMMAND ${HWLOC_PATCH} SOURCE_SUBDIR contrib/windows-cmake/
148
- FIND_PACKAGE_ARGS )
141
+ SOURCE_SUBDIR contrib/windows-cmake/ FIND_PACKAGE_ARGS )
149
142
150
143
FetchContent_GetProperties (hwloc_targ )
151
144
if (NOT hwloc_targ_POPULATED )
@@ -162,20 +155,13 @@ elseif(WINDOWS AND NOT UMF_DISABLE_HWLOC)
162
155
message (STATUS " LIBHWLOC_LIBRARY_DIRS = ${LIBHWLOC_LIBRARY_DIRS} " )
163
156
elseif (NOT UMF_DISABLE_HWLOC )
164
157
include (FetchContent )
165
- set (HWLOC_PATCH
166
- git
167
- apply
168
- ${PROJECT_SOURCE_DIR} /cmake/fix_coverity_issues.patch
169
- ||
170
- (exit 0 ))
171
158
172
159
message (STATUS "Will fetch hwloc from ${UMF_HWLOC_REPO} " )
173
160
174
161
FetchContent_Declare (
175
162
hwloc_targ
176
163
GIT_REPOSITORY ${UMF_HWLOC_REPO}
177
- GIT_TAG ${UMF_HWLOC_TAG}
178
- PATCH_COMMAND ${HWLOC_PATCH} )
164
+ GIT_TAG ${UMF_HWLOC_TAG} )
179
165
180
166
FetchContent_GetProperties (hwloc_targ )
181
167
if (NOT hwloc_targ_POPULATED )
@@ -222,6 +208,22 @@ elseif(NOT UMF_DISABLE_HWLOC)
222
208
message (STATUS " LIBHWLOC_LIBRARY_DIRS = ${LIBHWLOC_LIBRARY_DIRS} " )
223
209
endif ()
224
210
211
+ if (hwloc_targ_SOURCE_DIR )
212
+ # apply security patch for HWLOC
213
+ execute_process (
214
+ COMMAND git apply ${PROJECT_SOURCE_DIR} /cmake/fix_coverity_issues.patch
215
+ WORKING_DIRECTORY ${hwloc_targ_SOURCE_DIR}
216
+ OUTPUT_VARIABLE UMF_HWLOC_PATCH_OUTPUT
217
+ ERROR_VARIABLE UMF_HWLOC_PATCH_ERROR )
218
+
219
+ if (UMF_HWLOC_PATCH_OUTPUT )
220
+ message (STATUS "HWLOC patch command output:\n ${UMF_HWLOC_PATCH_OUTPUT} " )
221
+ endif ()
222
+ if (UMF_HWLOC_PATCH_ERROR )
223
+ message (WARNING "HWLOC patch command output:\n ${UMF_HWLOC_PATCH_ERROR} " )
224
+ endif ()
225
+ endif ()
226
+
225
227
# This build type check is not possible on Windows when CMAKE_BUILD_TYPE is not
226
228
# set, because in this case the build type is determined after a CMake
227
229
# configuration is done (at the build time)
0 commit comments