| 1 | #!/bin/bash |
| 2 | # |
| 3 | # $Id$ |
| 4 | # |
| 5 | # This bash script regenerates the HTML doxygen version of the |
| 6 | # wxWidgets manual and adjusts the doxygen log to make it more |
| 7 | # readable. |
| 8 | # |
| 9 | # Usage: |
| 10 | # ./regen.sh [html|chm|xml|latex|all] |
| 11 | # |
| 12 | # Pass "x" to regen only the X output format and "all" to regen them all. |
| 13 | # If no arguments are passed all formats are regenerated |
| 14 | # (just like passing "all"). |
| 15 | # |
| 16 | |
| 17 | |
| 18 | # remember current folder and then cd to the docs/doxygen one |
| 19 | me=$(basename $0) |
| 20 | path=${0%%/$me} # path from which the script has been launched |
| 21 | current=$(pwd) |
| 22 | cd $path |
| 23 | export WXWIDGETS=`cd ../.. && pwd` |
| 24 | |
| 25 | # prepare folders for the cp commands below |
| 26 | mkdir -p out/html # we need to copy files in this folder below |
| 27 | mkdir -p out/html/wxmsw out/html/wxgtk out/html/wxmac |
| 28 | |
| 29 | # These are not automatically copied by Doxygen because they're not |
| 30 | # used in doxygen documentation, only in our html footer and by our |
| 31 | # custom aliases |
| 32 | cp images/powered-by-wxwidgets.png out/html |
| 33 | cp images/*logo.png out/html |
| 34 | cp images/wxmsw/*png out/html/wxmsw |
| 35 | cp images/wxmac/*png out/html/wxmac |
| 36 | cp images/wxgtk/*png out/html/wxgtk |
| 37 | cp wxwidgets.js out/html |
| 38 | |
| 39 | # this CSS is not automatically copied by Doxygen because it's |
| 40 | # included by our custom html header... |
| 41 | cp wxwidgets.css out/html |
| 42 | |
| 43 | # which configuration should we use? |
| 44 | if [[ -z "$1" ]]; then |
| 45 | cfgfile="Doxyfile_all" |
| 46 | else |
| 47 | cfgfile="Doxyfile_$1" |
| 48 | fi |
| 49 | |
| 50 | # |
| 51 | # NOW RUN DOXYGEN |
| 52 | # |
| 53 | # NB: we do this _after_ copying the required files to the output folders |
| 54 | # otherwise when generating the CHM file with Doxygen, those files are |
| 55 | # not included! |
| 56 | # |
| 57 | doxygen $cfgfile |
| 58 | |
| 59 | # Doxygen has the annoying habit to put the full path of the |
| 60 | # affected files in the log file; remove it to make the log |
| 61 | # more readable |
| 62 | currpath=`pwd`/ |
| 63 | interfacepath=`cd ../../interface && pwd`/ |
| 64 | cat doxygen.log | sed -e "s|$currpath||g" -e "s|$interfacepath||g" >temp |
| 65 | |
| 66 | # Doxygen warnings are not completely sorted for filename; enforce correct sorting: |
| 67 | cat temp | sort >doxygen.log |
| 68 | rm temp |
| 69 | |
| 70 | # return to the original folder from which this script was launched |
| 71 | cd $current |