FindUnixCommands.cmake 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. #[=======================================================================[.rst:
  4. FindUnixCommands
  5. ----------------
  6. Find Unix commands, including the ones from Cygwin
  7. This module looks for the Unix commands ``bash``, ``cp``, ``gzip``,
  8. ``mv``, ``rm``, and ``tar`` and stores the result in the variables
  9. ``BASH``, ``CP``, ``GZIP``, ``MV``, ``RM``, and ``TAR``.
  10. #]=======================================================================]
  11. include(${CMAKE_CURRENT_LIST_DIR}/FindCygwin.cmake)
  12. include(${CMAKE_CURRENT_LIST_DIR}/FindMsys.cmake)
  13. find_program(BASH
  14. bash
  15. ${CYGWIN_INSTALL_PATH}/bin
  16. ${MSYS_INSTALL_PATH}/usr/bin
  17. )
  18. mark_as_advanced(
  19. BASH
  20. )
  21. find_program(CP
  22. cp
  23. ${CYGWIN_INSTALL_PATH}/bin
  24. ${MSYS_INSTALL_PATH}/usr/bin
  25. )
  26. mark_as_advanced(
  27. CP
  28. )
  29. find_program(GZIP
  30. gzip
  31. ${CYGWIN_INSTALL_PATH}/bin
  32. ${MSYS_INSTALL_PATH}/usr/bin
  33. )
  34. mark_as_advanced(
  35. GZIP
  36. )
  37. find_program(MV
  38. mv
  39. ${CYGWIN_INSTALL_PATH}/bin
  40. ${MSYS_INSTALL_PATH}/usr/bin
  41. )
  42. mark_as_advanced(
  43. MV
  44. )
  45. find_program(RM
  46. rm
  47. ${CYGWIN_INSTALL_PATH}/bin
  48. ${MSYS_INSTALL_PATH}/usr/bin
  49. )
  50. mark_as_advanced(
  51. RM
  52. )
  53. find_program(TAR
  54. NAMES
  55. tar
  56. gtar
  57. PATH
  58. ${CYGWIN_INSTALL_PATH}/bin
  59. ${MSYS_INSTALL_PATH}/usr/bin
  60. )
  61. mark_as_advanced(
  62. TAR
  63. )
  64. include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
  65. find_package_handle_standard_args(UnixCommands
  66. REQUIRED_VARS BASH CP GZIP MV RM TAR
  67. )