Files » doxygen.sh
| 1 | #!/bin/bash
 | 
|---|---|
| 2 |  | 
| 3 | # Variables
 | 
| 4 | DOXYGEN_CONFIG_FILE="Doxyfile" | 
| 5 | DOXYGEN_INPUT_DIR=$(grep -E "^INPUT\s*=" "$DOXYGEN_CONFIG_FILE" | awk -F '= ' '{print $2}') | 
| 6 | DOXYGEN_OUTPUT_DIR=$(grep -E "^OUTPUT_DIRECTORY\s*=" "$DOXYGEN_CONFIG_FILE" | awk -F '= ' '{print $2}') | 
| 7 |  | 
| 8 | # Check Doxygen Install
 | 
| 9 | if ! command -v doxygen &> /dev/null | 
| 10 | then
 | 
| 11 | echo "Doxygen is not installed" | 
| 12 |     exit 1
 | 
| 13 | fi
 | 
| 14 |  | 
| 15 | # Check Doxygen Config File
 | 
| 16 | if [ ! -f "$DOXYGEN_CONFIG_FILE" ]; then | 
| 17 | echo "Cannot find Doxygen config file: $DOXYGEN_CONFIG_FILE" | 
| 18 |     exit 1
 | 
| 19 | fi
 | 
| 20 |  | 
| 21 | # Check Doxygen Input Directory
 | 
| 22 | if [ -n "$DOXYGEN_INPUT_DIR" ]; then | 
| 23 | if [ ! -d "$DOXYGEN_INPUT_DIR" ]; then | 
| 24 | echo "Cannot find Input Directory: $DOXYGEN_INPUT_DIR" | 
| 25 |         exit 1
 | 
| 26 |     fi
 | 
| 27 | else
 | 
| 28 | echo "Cannot find INPUT in Doxygen config file" | 
| 29 |     exit 1
 | 
| 30 | fi
 | 
| 31 |  | 
| 32 | # Check Doxygen Output Directory
 | 
| 33 | if [ -n "$DOXYGEN_OUTPUT_DIR" ]; then | 
| 34 | if [ ! -d "$DOXYGEN_OUTPUT_DIR" ]; then | 
| 35 | echo "Creating Output Directory: $DOXYGEN_OUTPUT_DIR" | 
| 36 | mkdir -p "$DOXYGEN_OUTPUT_DIR" | 
| 37 |     fi
 | 
| 38 | else
 | 
| 39 | echo "Cannot find OUTPUT_DIRECTORY in Doxygen config file, use the default value" | 
| 40 | fi
 | 
| 41 |  | 
| 42 | echo "Generating Doxygen Document..." | 
| 43 | doxygen "$DOXYGEN_CONFIG_FILE" | 
| 44 |  | 
| 45 | # Check Generated Doxygen Document
 | 
| 46 | if [ -d "$DOXYGEN_OUTPUT_DIR/html" ]; then | 
| 47 | echo "Document generate succeed: $DOXYGEN_OUTPUT_DIR/html" | 
| 48 | else
 | 
| 49 | echo "Document generate failed" | 
| 50 |     exit 1
 | 
| 51 | fi
 | 
| 52 |  |