mirror of
				https://github.com/RetroDECK/ES-DE.git
				synced 2025-04-10 19:15:13 +00:00 
			
		
		
		
	
		
			
	
	
		
			187 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			187 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #!/bin/bash | ||
|  | # | ||
|  | #  File        : cimg_buildpackage | ||
|  | #                ( Bash script ) | ||
|  | # | ||
|  | #  Description : Build .zip package file of the CImg Library, from the current CImg/ | ||
|  | #                directory. Must be run from ../CImg | ||
|  | #                This file is a part of the CImg Library project. | ||
|  | #                ( http://cimg.eu/ ) | ||
|  | # | ||
|  | #  Usage       : ./cimg_buildpackage [final] | ||
|  | # | ||
|  | #  Copyright   : David Tschumperlé | ||
|  | #                ( http://tschumperle.users.greyc.fr/ ) | ||
|  | # | ||
|  | #  License     : CeCILL v2.0 | ||
|  | #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html ) | ||
|  | # | ||
|  | #  This software is governed by the CeCILL  license under French law and | ||
|  | #  abiding by the rules of distribution of free software.  You can  use, | ||
|  | #  modify and/ or redistribute the software under the terms of the CeCILL | ||
|  | #  license as circulated by CEA, CNRS and INRIA at the following URL | ||
|  | #  "http://www.cecill.info". | ||
|  | # | ||
|  | #  As a counterpart to the access to the source code and  rights to copy, | ||
|  | #  modify and redistribute granted by the license, users are provided only | ||
|  | #  with a limited warranty  and the software's author,  the holder of the | ||
|  | #  economic rights,  and the successive licensors  have only  limited | ||
|  | #  liability. | ||
|  | # | ||
|  | #  In this respect, the user's attention is drawn to the risks associated | ||
|  | #  with loading,  using,  modifying and/or developing or reproducing the | ||
|  | #  software by the user in light of its specific status of free software, | ||
|  | #  that may mean  that it is complicated to manipulate,  and  that  also | ||
|  | #  therefore means  that it is reserved for developers  and  experienced | ||
|  | #  professionals having in-depth computer knowledge. Users are therefore | ||
|  | #  encouraged to load and test the software's suitability as regards their | ||
|  | #  requirements in conditions enabling the security of their systems and/or | ||
|  | #  data to be ensured and,  more generally, to use and operate it in the | ||
|  | #  same conditions as regards security. | ||
|  | # | ||
|  | #  The fact that you are presently reading this means that you have had | ||
|  | #  knowledge of the CeCILL license and that you accept its terms. | ||
|  | # | ||
|  | 
 | ||
|  | # Define release number. | ||
|  | RELEASE0=`grep "#define cimg_version" CImg/CImg.h | tail -c 4` | ||
|  | RELEASE1=`echo $RELEASE0 | head -c 1` | ||
|  | RELEASE2=`echo $RELEASE0 | head -c 2 | tail -c 1` | ||
|  | RELEASE3=`echo $RELEASE0 | head -c 3 | tail -c 1` | ||
|  | VERSION=${RELEASE1}${RELEASE2}${RELEASE3} | ||
|  | SVERSION=${RELEASE1}.${RELEASE2}.${RELEASE3} | ||
|  | 
 | ||
|  | # Read command line options. | ||
|  | if [ "$1" == "final" ]; then SUFFIX=""; SSUFFIX=""; else SUFFIX=_pre`date +%m%d%y`; SSUFFIX=_pre; fi | ||
|  | 
 | ||
|  | # Define the different paths and filenames used in this script. | ||
|  | BASE_DIR=`pwd` | ||
|  | SRC_DIR=${BASE_DIR}/CImg | ||
|  | DEST_DIR=/tmp/CImg-${SVERSION}${SUFFIX} | ||
|  | ZIP_FILE=CImg_${SVERSION}${SSUFFIX}.zip | ||
|  | LOG_FILE=${BASE_DIR}/LOG_`basename $ZIP_FILE .zip`.txt | ||
|  | rm -rf $LOG_FILE | ||
|  | 
 | ||
|  | echo | ||
|  | echo " - Release number : $SVERSION$SUFFIX" | ||
|  | echo " - Base directory : $BASE_DIR/" | ||
|  | echo " - Source directory : $SRC_DIR/" | ||
|  | echo " - Build directory : $DEST_DIR/" | ||
|  | echo " - ZIP package filename : $ZIP_FILE" | ||
|  | echo " - LOG file : $LOG_FILE" | ||
|  | 
 | ||
|  | # Merge 'develop' and 'master' branches. | ||
|  | echo " - Merge 'develop' and 'master' branches." | ||
|  | cd $SRC_DIR | ||
|  | git checkout master | ||
|  | git merge develop -m "." | ||
|  | git push | ||
|  | git checkout develop | ||
|  | cd .. | ||
|  | 
 | ||
|  | # Create clean archive structure. | ||
|  | echo " - Create package structure." | ||
|  | rm -rf $DEST_DIR | ||
|  | mkdir $DEST_DIR | ||
|  | cd $SRC_DIR | ||
|  | cp -f CImg.h Licence_CeCILL-C_V1-en.txt Licence_CeCILL_V2-en.txt $DEST_DIR | ||
|  | sed s\/_cimg_version\/$SVERSION$SUFFIX\/ README.txt > $DEST_DIR/README.txt | ||
|  | 
 | ||
|  | mkdir $DEST_DIR/examples | ||
|  | cd $SRC_DIR/examples | ||
|  | cp -f *.cpp *.m CMakeLists.txt Makefile $DEST_DIR/examples/ | ||
|  | 
 | ||
|  | mkdir $DEST_DIR/examples/img | ||
|  | cd $SRC_DIR/examples/img | ||
|  | cp -f *.pgm *.ppm *.bmp *.h $DEST_DIR/examples/img/ | ||
|  | 
 | ||
|  | mkdir $DEST_DIR/plugins | ||
|  | cd $SRC_DIR/plugins | ||
|  | cp -f *.h $DEST_DIR/plugins/ | ||
|  | 
 | ||
|  | mkdir $DEST_DIR/resources | ||
|  | cd $SRC_DIR/resources | ||
|  | cp -rf *.bat *.py $DEST_DIR/resources/ | ||
|  | 
 | ||
|  | cd $DEST_DIR | ||
|  | for i in CImg.h examples/*.cpp; do | ||
|  |   sed -e 's/ *$//' $i >/tmp/cimg_buildpackage$$ && mv /tmp/cimg_buildpackage$$ $i | ||
|  | done | ||
|  | for i in `find . -name "\#*"`; do rm -rf $i; done | ||
|  | for i in `find . -name "*~"`; do rm -rf $i; done | ||
|  | for i in `find . -name "core*"`; do rm -rf $i; done | ||
|  | for i in `find . -name "CVS"`; do rm -rf $i; done | ||
|  | for i in `find . -name ".git"`; do rm -rf $i; done | ||
|  | for i in `find . -name "*.plg"`; do rm -rf $i; done | ||
|  | for i in `find . -name "*.ncb"`; do rm -rf $i; done | ||
|  | for i in `find . -name "*.layout"`; do rm -rf $i; done | ||
|  | for i in `find . -name "*.win"`; do rm -rf $i; done | ||
|  | for i in `find . -name "Debug"`; do rm -rf $i; done | ||
|  | for i in `find . -name "Release"`; do rm -rf $i; done | ||
|  | for i in `find . -name "*.h"`; do col -x <$i >tmp; mv tmp $i; done | ||
|  | for i in `find . -name "*.cpp"`; do col -x <$i >tmp; mv tmp $i; done | ||
|  | for i in `find . ! -type d`; do chmod a-x $i; done | ||
|  | for i in `find . -name "*.sh"`; do chmod a+x $i; done | ||
|  | for i in `find . -name "rules"`; do chmod a+x $i; done | ||
|  | 
 | ||
|  | # Generate Documentation with doxygen | ||
|  | echo " - Generate reference documentation using Doxygen." | ||
|  | cd $SRC_DIR/html | ||
|  | 
 | ||
|  | if [ "$1" == "final" ]; then | ||
|  |     gmic _update_header_html header.html,${VERSION},0 | ||
|  |     gmic _update_header_html header_doxygen.html,${VERSION},0 | ||
|  | else | ||
|  |     gmic _update_header_html header.html,${VERSION},1 | ||
|  |     gmic _update_header_html header_doxygen.html,${VERSION},1 | ||
|  | fi | ||
|  | 
 | ||
|  | echo -e "\n** Log generated by 'doxygen' **\n\n">>$LOG_FILE | ||
|  | ( cat CImg.doxygen ; echo "PROJECT_NUMBER=$SVERSION$SUFFIX" ) | doxygen - >>$LOG_FILE 2>&1 | ||
|  | 
 | ||
|  | echo " - Build reference documentation in PDF format." | ||
|  | cd $SRC_DIR/html/latex | ||
|  | gmic it structcimg__library_1_1CImg.tex replace_str \"operator%\",\"operator\\\\%\" ot structcimg__library_1_1CImg.tex | ||
|  | echo -e "\n** Log generated by 'latex' **\n\n">>$LOG_FILE | ||
|  | make>>$LOG_FILE 2>&1 | ||
|  | cp -f refman.pdf ../CImg_reference.pdf | ||
|  | cp -f refman.pdf $DEST_DIR/resources/CImg_reference.pdf | ||
|  | rm -rf ../latex | ||
|  | 
 | ||
|  | # Commit changes on GIT repository | ||
|  | echo " - Commit on GIT repository." | ||
|  | cd $SRC_DIR | ||
|  | if [ "$1" == "final" ]; then | ||
|  |     git tag -d v.$SVERSION | ||
|  |     git tag v.$SVERSION | ||
|  |     git commit -m "Final release "${SVERSION} >>$LOG_FILE 2>&1 | ||
|  | else | ||
|  |     git commit -m "Auto-commit for release "${SVERSION}${SUFFIX} >>$LOG_FILE 2>&1 | ||
|  | fi | ||
|  | git push --tags | ||
|  | 
 | ||
|  | # Create ZIP archive | ||
|  | echo " - Build ZIP archive file '$ZIP_FILE'." | ||
|  | cd $DEST_DIR/.. | ||
|  | rm -f $ZIP_FILE | ||
|  | echo -e "\n** Log generated by 'zip' **\n\n">>$LOG_FILE | ||
|  | zip -r -9 $ZIP_FILE `basename $DEST_DIR`>>$LOG_FILE 2>&1 | ||
|  | 
 | ||
|  | # Clean temporary files and directories | ||
|  | echo " - Clean temporary files and directories." | ||
|  | cd $DEST_DIR/.. | ||
|  | mv $ZIP_FILE $BASE_DIR | ||
|  | 
 | ||
|  | # Copy files to CImg server. | ||
|  | cd $BASE_DIR | ||
|  | if [ "$1" == "final" ]; then | ||
|  |     lftp ftp://$GMIC_LOGIN:$GMIC_PASSWD@$GMIC_FTP -e "put -O /www/CImg/files/ ${ZIP_FILE}; quit"; | ||
|  | fi | ||
|  | lftp ftp://$GMIC_LOGIN:$GMIC_PASSWD@$GMIC_FTP -e "put -O /www/CImg/files/ ${ZIP_FILE} -o CImg_latest.zip; quit" | ||
|  | 
 | ||
|  | cd $SRC_DIR/html/ | ||
|  | lftp ftp://$GMIC_LOGIN:$GMIC_PASSWD@$GMIC_FTP -e "mirror -RL . /www/CImg/ ; quit" | ||
|  | 
 | ||
|  | # End of build script | ||
|  | echo -e " - All done, you should look at the LOG file '$LOG_FILE'.\n" |