ctkFunctionApplyPatches.cmake 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. ###########################################################################
  2. #
  3. # Library: CTK
  4. #
  5. # Copyright (c) Kitware Inc.
  6. #
  7. # Licensed under the Apache License, Version 2.0 (the "License");
  8. # you may not use this file except in compliance with the License.
  9. # You may obtain a copy of the License at
  10. #
  11. # http://www.apache.org/licenses/LICENSE-2.0.txt
  12. #
  13. # Unless required by applicable law or agreed to in writing, software
  14. # distributed under the License is distributed on an "AS IS" BASIS,
  15. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  16. # See the License for the specific language governing permissions and
  17. # limitations under the License.
  18. #
  19. ###########################################################################
  20. #
  21. # Depends on:
  22. # CTK/CMake/ctkFunctionLFtoCRLF.cmake
  23. #
  24. #! \ingroup CMakeUtilities
  25. function(ctkFunctionApplyPatches PATCH_EXE SRC_DIR PATCH_FILES)
  26. # Make sure patch executable exists
  27. if(NOT EXISTS ${PATCH_EXE})
  28. message(FATAL_ERROR "ERROR: Program [${PATCH_EXE}] doesn't exist !")
  29. endif()
  30. # Apply patches
  31. foreach(patch_file ${PATCH_FILES})
  32. message("Applying patch: ${patch_file}")
  33. if(WIN32)
  34. ctkFunctionLFtoCRLF("${patch_file}" "${patch_file}")
  35. endif()
  36. execute_process(COMMAND ${PATCH_EXE} -p0 -i "${patch_file}" -d "${SRC_DIR}" RESULT_VARIABLE result_var)
  37. if(result_var)
  38. message("ERROR: ${result_var}")
  39. endif()
  40. endforeach()
  41. endfunction()