123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- #!/bin/bash
- POSIXLY_CORRECT=1
- CHECK_API=false
- GEN_HTML=false
- GEN_PDF=false
- GEN_ALL=false
- INSTALL_DOX=false
- command -v g++
- if [ $? -ne "0" ]; then
- echo "Please install g++"
- exit 1
- fi
- command -v cmake
- if [ $? -ne "0" ]; then
- echo "Please install cmake"
- exit 1
- fi
- command -v git
- if [ $? -ne "0" ]; then
- echo "Please install git"
- exit 1
- fi
- command -v make
- if [ $? -ne "0" ]; then
- echo "Please install make"
- exit 1
- fi
- # Checking arguments and setting appropriate option variables
- for var in $@
- do
- case $var in
- -install)
- INSTALL_DOX=true
- ;;
- -html)
- CHECK_API=true
- GEN_HTML=true
- ;;
- -pdf)
- CHECK_API=true
- GEN_PDF=true
- ;;
- -all)
- CHECK_API=true
- GEN_ALL=true
- ;;
- esac
- done
- # Checking if doxygen is already installed
- # True - doxygen from "which doxygen" is used to generate documentation
- # False - clones doxygen Release_1_8_13 and ./build/bin/ added to PATH
- if [ $INSTALL_DOX = true ] && [ ! "$(which doxygen)" ]; then
- mkdir -p build
- cd build
- echo "cloning doxygen 1.8.13..."
- git clone --depth 1 --branch Release_1_8_13 https://github.com/doxygen/doxygen
- cmake -G "Unix Makefiles" doxygen/
- make
- cd ..
- export PATH="./build/bin/:$PATH"
- fi
- # Runs script to check that all API with documentation match wolfSSL API
- if [ $CHECK_API = true ]; then
- ./check_api.sh
- fi
- if [ $? = 1 ]; then
- echo "Not all API match"
- exit 1
- fi
- #HTML GENERATION
- if [ $GEN_HTML = true ] || [ $GEN_ALL = true ]; then
- cp -r formats/html/* ./
- echo "generating html..."
- doxygen Doxyfile
- cp html_changes/search/* html/search/
- cp html_changes/*.css html/
- cp html_changes/*.js html/
- rm footer.html header.html
- rm -rf html_changes
- rm mainpage.dox
- rm Doxyfile
- echo "finished generating html..."
- echo "To view the html files use a browser to open the index.html file located at doc/html/index.html"
- fi
- #PDF GENERATION
- if [ $GEN_PDF = true ] || [ $GEN_ALL = true ]; then
- cp -r formats/pdf/* ./
- echo "generating pdf..."
- doxygen Doxyfile
- cd latex/
- make
- mv refman.pdf ../
- cd ..
- rm -rf latex/
- rm Doxyfile
- rm header.tex
- echo "finished generating pdf..."
- fi
|