cygwin-package.sh.in 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # this is a sample shell script used for building a cmake
  2. # based project for a cygwin setup package.
  3. # get the current directory
  4. TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
  5. # create build directory
  6. mkdirs()
  7. {
  8. (
  9. mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
  10. )
  11. }
  12. # cd into
  13. # untar source tree and apply patch
  14. prep()
  15. {
  16. (
  17. cd "$TOP_DIR" &&
  18. tar xvfj @[email protected]
  19. patch -p0 < "@CPACK_PACKAGE_FILE_NAME@-@[email protected]" &&
  20. mkdirs
  21. )
  22. }
  23. # configure the build tree in .build directory
  24. # of the source tree
  25. conf()
  26. {
  27. (
  28. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  29. cmake ..
  30. )
  31. }
  32. # build the package in the .build directory
  33. build()
  34. {
  35. (
  36. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  37. make &&
  38. make test
  39. )
  40. }
  41. # clean the build tree
  42. clean()
  43. {
  44. (
  45. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  46. make clean
  47. )
  48. }
  49. # create the package
  50. pkg()
  51. {
  52. (
  53. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  54. cpack &&
  55. mv @CPACK_PACKAGE_FILE_NAME@-@[email protected] "$TOP_DIR"
  56. )
  57. }
  58. # create the source package
  59. spkg()
  60. {
  61. (
  62. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  63. cpack --config CPackSourceConfig.cmake &&
  64. mv @CPACK_PACKAGE_FILE_NAME@-@[email protected] "$TOP_DIR"
  65. )
  66. }
  67. # clean up
  68. finish()
  69. {
  70. (
  71. rm -rf "@CPACK_PACKAGE_FILE_NAME@"
  72. )
  73. }
  74. case $1 in
  75. prep) prep ; STATUS=$? ;;
  76. mkdirs) mkdirs ; STATUS=$? ;;
  77. conf) conf ; STATUS=$? ;;
  78. build) build ; STATUS=$? ;;
  79. clean) clean ; STATUS=$? ;;
  80. package) pkg ; STATUS=$? ;;
  81. pkg) pkg ; STATUS=$? ;;
  82. src-package) spkg ; STATUS=$? ;;
  83. spkg) spkg ; STATUS=$? ;;
  84. finish) finish ; STATUS=$? ;;
  85. all) (
  86. prep && conf && build && pkg && spkg && finish ;
  87. STATUS=$?
  88. ) ;;
  89. *) echo "Error: bad argument (all or one of these: prep mkdirs conf build clean package pkg src-package spkg finish)" ; exit 1 ;;
  90. esac
  91. exit ${STATUS}