Skip to content

Commit c3dd160

Browse files
committed
fix for the apply of the HWLOC security patch
1 parent 57e8199 commit c3dd160

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

CMakeLists.txt

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -131,21 +131,14 @@ elseif(WINDOWS AND NOT UMF_DISABLE_HWLOC)
131131
set(HWLOC_ENABLE_TESTING OFF)
132132
set(HWLOC_SKIP_LSTOPO ON)
133133
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))
140134

141135
message(STATUS "Will fetch hwloc from ${UMF_HWLOC_REPO}")
142136

143137
FetchContent_Declare(
144138
hwloc_targ
145139
GIT_REPOSITORY ${UMF_HWLOC_REPO}
146140
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)
149142

150143
FetchContent_GetProperties(hwloc_targ)
151144
if(NOT hwloc_targ_POPULATED)
@@ -162,20 +155,13 @@ elseif(WINDOWS AND NOT UMF_DISABLE_HWLOC)
162155
message(STATUS " LIBHWLOC_LIBRARY_DIRS = ${LIBHWLOC_LIBRARY_DIRS}")
163156
elseif(NOT UMF_DISABLE_HWLOC)
164157
include(FetchContent)
165-
set(HWLOC_PATCH
166-
git
167-
apply
168-
${PROJECT_SOURCE_DIR}/cmake/fix_coverity_issues.patch
169-
||
170-
(exit 0))
171158

172159
message(STATUS "Will fetch hwloc from ${UMF_HWLOC_REPO}")
173160

174161
FetchContent_Declare(
175162
hwloc_targ
176163
GIT_REPOSITORY ${UMF_HWLOC_REPO}
177-
GIT_TAG ${UMF_HWLOC_TAG}
178-
PATCH_COMMAND ${HWLOC_PATCH})
164+
GIT_TAG ${UMF_HWLOC_TAG})
179165

180166
FetchContent_GetProperties(hwloc_targ)
181167
if(NOT hwloc_targ_POPULATED)
@@ -222,6 +208,22 @@ elseif(NOT UMF_DISABLE_HWLOC)
222208
message(STATUS " LIBHWLOC_LIBRARY_DIRS = ${LIBHWLOC_LIBRARY_DIRS}")
223209
endif()
224210

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+
225227
# This build type check is not possible on Windows when CMAKE_BUILD_TYPE is not
226228
# set, because in this case the build type is determined after a CMake
227229
# configuration is done (at the build time)

0 commit comments

Comments
 (0)