_cmake.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/bash
  2. Mode=prod
  3. error_flag=0
  4. function version {
  5. echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }';
  6. }
  7. function install_ {
  8. echo -e "$(tput setaf 10)\nInstall / Update cmake :$(tput sgr0)"
  9. if [ -x "$(command -v cmake)" ];then flag=1; else flag=0;fi
  10. case $flag in
  11. 0)
  12. wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/cmake_3.26.4-1_amd64.deb
  13. sudo dpkg -i cmake_3.26.4-1_amd64.deb
  14. rm cmake_3.26.4-1_amd64.deb
  15. ;;
  16. 1)
  17. cmake_v="$(cmake --version | grep "version" | awk '{print $3}')"
  18. echo "cmake version : $cmake_v"
  19. sleep 2
  20. if ! [ $(version $cmake_v) -ge $(version "3.18") ]
  21. then
  22. echo -e "cmake need update=> cmake_3.26.4"
  23. sudo apt-get -qq remove --purge cmake -y
  24. wget -c -q --show-progress http://folivier.homelinux.org/cube/pack/cmake_3.26.4-1_amd64.deb
  25. sudo dpkg -i cmake_3.26.4-1_amd64.deb
  26. rm cmake_3.26.4-1_amd64.deb
  27. else
  28. echo -e "cmake version ok."
  29. sleep 2
  30. fi
  31. ;;
  32. *) echo "Error";;
  33. esac
  34. echo "Done"
  35. }
  36. function cmake_source {
  37. echo -e "$(tput setaf 12)Cmake kitware build:$(tput sgr0)"
  38. sleep 2
  39. sudo apt-get install checkinstall -y
  40. wget -c https://github.com/Kitware/CMake/releases/download/v3.26.4/cmake-3.26.4.tar.gz
  41. tar xvfz cmake-3.26.4.tar.gz
  42. cd cmake-3.26.4
  43. ./bootstrap
  44. make -j6
  45. sudo checkinstall --pkgname=cmake --pkgversion="3.26.4" --default
  46. hash -r
  47. }
  48. Mode=${Mode^^}
  49. if [ $Mode = "PROD" ]
  50. then
  51. install_
  52. fi
  53. if [ $Mode = "BUILD" ]
  54. then
  55. cmake_source
  56. fi