| #!/bin/sh | 
 |  | 
 | # this is a sample shell script used for building a cmake | 
 | # based project for a cygwin setup package. | 
 |  | 
 | # get the current directory | 
 | TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd` | 
 |  | 
 | # create build directory | 
 | mkdirs() | 
 | { | 
 |   ( | 
 |   mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" | 
 |   ) | 
 | } | 
 |  | 
 | # cd into | 
 | # untar source tree and apply patch | 
 | prep() | 
 | { | 
 |   ( | 
 |   cd "$TOP_DIR" && | 
 |   tar xvfj @CPACK_PACKAGE_FILE_NAME@.tar.bz2 | 
 |   patch -p0 < "@CPACK_PACKAGE_FILE_NAME@-@[email protected]" && | 
 |   mkdirs | 
 |   ) | 
 | } | 
 |  | 
 | # configure the build tree in .build directory | 
 | # of the source tree | 
 | conf() | 
 | { | 
 |   ( | 
 |   cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" && | 
 |   cmake .. | 
 |   ) | 
 | } | 
 |  | 
 | # build the package in the .build directory | 
 | build() | 
 | { | 
 |   ( | 
 |   cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" && | 
 |   make && | 
 |   make test | 
 |   ) | 
 | } | 
 |  | 
 | # clean the build tree | 
 | clean() | 
 | { | 
 |   ( | 
 |   cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" && | 
 |   make clean | 
 |   ) | 
 | } | 
 |  | 
 | # create the package | 
 | pkg() | 
 | { | 
 |   ( | 
 |   cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" && | 
 |   cpack && | 
 |   mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@.tar.bz2 "$TOP_DIR" | 
 |   ) | 
 | } | 
 |  | 
 | # create the source package | 
 | spkg() | 
 | { | 
 |  ( | 
 |   cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" && | 
 |   cpack --config  CPackSourceConfig.cmake && | 
 |   mv @CPACK_PACKAGE_FILE_NAME@-@CPACK_CYGWIN_PATCH_NUMBER@-src.tar.bz2 "$TOP_DIR" | 
 |   ) | 
 | } | 
 |  | 
 | # clean up | 
 | finish() | 
 | { | 
 |   ( | 
 |   rm -rf "@CPACK_PACKAGE_FILE_NAME@" | 
 |   ) | 
 | } | 
 |  | 
 | case $1 in | 
 |   prep)         prep    ; STATUS=$? ;; | 
 |   mkdirs)       mkdirs  ; STATUS=$? ;; | 
 |   conf)         conf    ; STATUS=$? ;; | 
 |   build)        build   ; STATUS=$? ;; | 
 |   clean)        clean   ; STATUS=$? ;; | 
 |   package)      pkg     ; STATUS=$? ;; | 
 |   pkg)          pkg     ; STATUS=$? ;; | 
 |   src-package)  spkg    ; STATUS=$? ;; | 
 |   spkg)         spkg    ; STATUS=$? ;; | 
 |   finish)       finish  ; STATUS=$? ;; | 
 |   all) ( | 
 |        prep && conf && build && pkg && spkg && finish ; | 
 |        STATUS=$? | 
 |        ) ;; | 
 |   *) echo "Error: bad argument (all or one of these: prep mkdirs conf build clean package pkg src-package spkg finish)" ; exit 1 ;; | 
 | esac | 
 | exit ${STATUS} |