Skip to content

Commit 0377e0d

Browse files
committed
use cross platform git patch command
1 parent 2728a83 commit 0377e0d

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

CMakeLists.txt

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -225,15 +225,27 @@ set(PATCH_FILE "${CMAKE_SOURCE_DIR}/patches/libzippp_patch.diff")
225225
# Path to the file to be patched
226226
set(FILE_TO_PATCH "${CMAKE_SOURCE_DIR}/libzippp/src/libzippp.cpp")
227227
# Apply the patch
228-
add_custom_command(
229-
OUTPUT ${FILE_TO_PATCH}
230-
COMMAND ${CMAKE_COMMAND} -E echo "Applying patch to libzippp"
231-
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_PATCH} ${FILE_TO_PATCH}.bak
232-
COMMAND ${CMAKE_COMMAND} -E touch ${FILE_TO_PATCH}
233-
COMMAND patch ${FILE_TO_PATCH} < ${PATCH_FILE}
234-
DEPENDS ${PATCH_FILE}
235-
COMMENT "Patching libzippp"
236-
)
228+
if (WIN32)
229+
add_custom_command(
230+
OUTPUT ${FILE_TO_PATCH}
231+
COMMAND ${CMAKE_COMMAND} -E echo "Applying patch to libzippp"
232+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_PATCH} ${FILE_TO_PATCH}.bak
233+
COMMAND ${CMAKE_COMMAND} -E touch ${FILE_TO_PATCH}
234+
COMMAND git apply ${PATCH_FILE}
235+
DEPENDS ${PATCH_FILE}
236+
COMMENT "Patching libzippp"
237+
)
238+
else()
239+
add_custom_command(
240+
OUTPUT ${FILE_TO_PATCH}
241+
COMMAND ${CMAKE_COMMAND} -E echo "Applying patch to libzippp"
242+
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${FILE_TO_PATCH} ${FILE_TO_PATCH}.bak
243+
COMMAND ${CMAKE_COMMAND} -E touch ${FILE_TO_PATCH}
244+
COMMAND patch ${FILE_TO_PATCH} < ${PATCH_FILE}
245+
DEPENDS ${PATCH_FILE}
246+
COMMENT "Patching libzippp"
247+
)
248+
endif()
237249
# Ensure the patch is applied before building the submodule
238250
add_custom_target(apply_patch ALL DEPENDS ${FILE_TO_PATCH})
239251
add_dependencies(libzippp apply_patch)

0 commit comments

Comments
 (0)