Skip to content

Commit f49cf15

Browse files
author
mean
committed
add FindPatch
1 parent cd64947 commit f49cf15

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

FindPatch.cmake

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
if (NOT PATCH_EXECUTABLE)
2+
message(STATUS "Checking for patch")
3+
message(STATUS "******************")
4+
5+
find_program(PATCH_EXECUTABLE patch)
6+
set(PATCH_EXECUTABLE ${PATCH_EXECUTABLE} CACHE STRING "")
7+
8+
if (PATCH_EXECUTABLE)
9+
message(STATUS "Found patch")
10+
11+
if (VERBOSE)
12+
message(STATUS "Path: ${PATCH_EXECUTABLE}")
13+
endif (VERBOSE)
14+
else (PATCH_EXECUTABLE)
15+
message(FATAL_ERROR "patch not found")
16+
endif (PATCH_EXECUTABLE)
17+
18+
message("")
19+
endif (NOT PATCH_EXECUTABLE)
20+
21+
macro(patch_file baseDir patchFile)
22+
execute_process(COMMAND ${PATCH_EXECUTABLE} -p0 -i "${patchFile}"
23+
WORKING_DIRECTORY "${baseDir}"
24+
RESULT_VARIABLE res
25+
)
26+
if(res)
27+
MESSAGE(FATAL_ERROR "Patch failed")
28+
endif(res)
29+
endmacro(patch_file)
30+
31+
macro(patch_file_p p baseDir patchFile)
32+
execute_process(COMMAND ${PATCH_EXECUTABLE} -p ${p} -i "${patchFile}"
33+
WORKING_DIRECTORY "${baseDir}"
34+
RESULT_VARIABLE res
35+
)
36+
if(res)
37+
MESSAGE(FATAL_ERROR "Patch failed")
38+
endif(res)
39+
endmacro(patch_file_p)

0 commit comments

Comments
 (0)