Skip to content

Commit 3bae087

Browse files
authored
Merge pull request #849 from bratpiorka/rrudnick_hwloc_patch_fix
fix for the apply of the HWLOC security patch
2 parents 64ee85b + 6c828f6 commit 3bae087

File tree

1 file changed

+18
-17
lines changed

1 file changed

+18
-17
lines changed

CMakeLists.txt

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -131,12 +131,6 @@ else()
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(
142136
STATUS
@@ -147,8 +141,7 @@ else()
147141
hwloc_targ
148142
GIT_REPOSITORY ${UMF_HWLOC_REPO}
149143
GIT_TAG ${UMF_HWLOC_TAG}
150-
PATCH_COMMAND ${HWLOC_PATCH} SOURCE_SUBDIR contrib/windows-cmake/
151-
FIND_PACKAGE_ARGS)
144+
SOURCE_SUBDIR contrib/windows-cmake/ FIND_PACKAGE_ARGS)
152145
FetchContent_MakeAvailable(hwloc_targ)
153146

154147
set(LIBHWLOC_INCLUDE_DIRS
@@ -157,13 +150,6 @@ else()
157150
${hwloc_targ_BINARY_DIR}/Release;${hwloc_targ_BINARY_DIR}/Debug)
158151
else()
159152
include(FetchContent)
160-
set(HWLOC_PATCH
161-
git
162-
apply
163-
${PROJECT_SOURCE_DIR}/cmake/fix_coverity_issues.patch
164-
||
165-
(exit 0))
166-
167153
message(
168154
STATUS
169155
"Will fetch hwloc from ${UMF_HWLOC_REPO} (tag: ${UMF_HWLOC_TAG})"
@@ -172,8 +158,7 @@ else()
172158
FetchContent_Declare(
173159
hwloc_targ
174160
GIT_REPOSITORY ${UMF_HWLOC_REPO}
175-
GIT_TAG ${UMF_HWLOC_TAG}
176-
PATCH_COMMAND ${HWLOC_PATCH})
161+
GIT_TAG ${UMF_HWLOC_TAG})
177162
FetchContent_MakeAvailable(hwloc_targ)
178163

179164
add_custom_command(
@@ -217,6 +202,22 @@ else()
217202
message(STATUS " LIBHWLOC_LIBRARY_DIRS = ${LIBHWLOC_LIBRARY_DIRS}")
218203
endif()
219204

205+
if(hwloc_targ_SOURCE_DIR)
206+
# apply security patch for HWLOC
207+
execute_process(
208+
COMMAND git apply ${PROJECT_SOURCE_DIR}/cmake/fix_coverity_issues.patch
209+
WORKING_DIRECTORY ${hwloc_targ_SOURCE_DIR}
210+
OUTPUT_VARIABLE UMF_HWLOC_PATCH_OUTPUT
211+
ERROR_VARIABLE UMF_HWLOC_PATCH_ERROR)
212+
213+
if(UMF_HWLOC_PATCH_OUTPUT)
214+
message(STATUS "HWLOC patch command output:\n${UMF_HWLOC_PATCH_OUTPUT}")
215+
endif()
216+
if(UMF_HWLOC_PATCH_ERROR)
217+
message(WARNING "HWLOC patch command output:\n${UMF_HWLOC_PATCH_ERROR}")
218+
endif()
219+
endif()
220+
220221
# This build type check is not possible on Windows when CMAKE_BUILD_TYPE is not
221222
# set, because in this case the build type is determined after a CMake
222223
# configuration is done (at the build time)

0 commit comments

Comments
 (0)