@@ -225,15 +225,27 @@ set(PATCH_FILE "${CMAKE_SOURCE_DIR}/patches/libzippp_patch.diff")
225225# Path to the file to be patched
226226set (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
238250add_custom_target (apply_patch ALL DEPENDS ${FILE_TO_PATCH} )
239251add_dependencies (libzippp apply_patch)
0 commit comments