Project

General

Profile

Files » doxygen.sh

Script for generating doxygen documentation website - Xinyu LIU, 01/09/2025 02:58 PM

 
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

    
(2-2/5)