check-host-cmake.sh 892 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #!/bin/sh
  2. version_min="${1}"
  3. candidate="${2}"
  4. major_min="${version_min%.*}"
  5. minor_min="${version_min#*.}"
  6. cmake=`which ${candidate}`
  7. if [ ! -x "${cmake}" ]; then
  8. # echo nothing: no suitable cmake found
  9. exit 1
  10. fi
  11. # Extract version X.Y from versions in the form X.Y or X.Y.Z
  12. # with X, Y and Z numbers with one or more digits each, e.g.
  13. # 3.2 -> 3.2
  14. # 3.2.3 -> 3.2
  15. # 3.2.42 -> 3.2
  16. # 3.10 -> 3.10
  17. # 3.10.4 -> 3.10
  18. # 3.10.42 -> 3.10
  19. version="$(${cmake} --version \
  20. |sed -r -e '/.* ([[:digit:]]+\.[[:digit:]]+).*$/!d;' \
  21. -e 's//\1/'
  22. )"
  23. major="${version%.*}"
  24. minor="${version#*.}"
  25. if [ ${major} -gt ${major_min} ]; then
  26. echo "${cmake}"
  27. else
  28. if [ ${major} -eq ${major_min} -a ${minor} -ge ${minor_min} ]; then
  29. echo "${cmake}"
  30. else
  31. # echo nothing: no suitable cmake found
  32. exit 1
  33. fi
  34. fi