docs: Fix up doxyfile.

No longer using :sources, since that fails on render.com.
This commit is contained in:
iphydf
2024-02-04 10:25:41 +00:00
parent d55fc85ff5
commit aacff73939
7 changed files with 82 additions and 37 deletions

View File

@@ -1295,15 +1295,6 @@ HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
# to YES can help to show when doxygen was last run and thus if the
# documentation is up to date.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_TIMESTAMP = NO
# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML
# documentation will contain a main index with vertical navigation menus that
# are dynamically created via JavaScript. If disabled, the navigation index will
@@ -1950,14 +1941,6 @@ LATEX_HIDE_INDICES = NO
LATEX_BIB_STYLE = plain
# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated
# page will contain the date and time when the page was generated. Setting this
# to NO can help when comparing the output of multiple runs.
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
LATEX_TIMESTAMP = NO
# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute)
# path from which the emoji images will be read. If a relative path is entered,
# it will be relative to the LATEX_OUTPUT directory. If left blank the
@@ -2587,3 +2570,19 @@ GENERATE_LEGEND = YES
# The default value is: YES.
DOT_CLEANUP = YES
# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the
# clang parser for more accurate parsing at the cost of reduced performance.
# This can be particularly helpful with template rich C++ code for which
# doxygen's built-in parser lacks the necessary type information.
CLANG_ASSISTED_PARSING = NO
# If clang assisted parsing is enabled you can provide the clang parser with
# the path to the directory containing a file called compile_commands.json.
# This file is the compilation database containing the options used when the
# source files were built. This is equivalent to specifying the -p option to a
# clang tool, such as clang-check. These options will then be passed to the
# parser. Any options specified with CLANG_OPTIONS will be added as well.
CLANG_DATABASE_PATH = _build

View File

@@ -0,0 +1,2 @@
# ===== custom =====
!docs/Doxyfile

View File

@@ -1,19 +1,20 @@
FROM toxchat/c-toxcore:sources AS sources
FROM alpine:3.19.0 AS build
FROM toxchat/doxygen:latest AS build
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US.UTF-8 \
LC_CTYPE=en_US.UTF-8 \
LC_ALL=en_US.UTF-8
RUN ["apk", "add", "--no-cache", \
"gtest-dev", \
"libconfig-dev", \
"libsodium-dev", \
"libvpx-dev", \
"opus-dev"]
RUN apk add --no-cache doxygen git graphviz texlive \
&& git clone --depth=1 https://github.com/jothepro/doxygen-awesome-css.git /work/doxygen-awesome-css
WORKDIR /work
COPY --from=sources /src/ /work/
COPY docs/Doxyfile /work/Doxyfile
RUN echo "WARN_AS_ERROR = YES" >> Doxyfile \
RUN git clone --depth=1 https://github.com/jothepro/doxygen-awesome-css.git /work/c-toxcore/doxygen-awesome-css
WORKDIR /work/c-toxcore
COPY . /work/c-toxcore/
RUN cmake . -B_build -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
&& echo "WARN_AS_ERROR = YES" >> Doxyfile \
&& sed -i -e 's/^non_null([^)]*) *//;s/^nullable([^)]*) *//' $(find . -name "*.[ch]") \
&& doxygen Doxyfile
&& doxygen docs/Doxyfile
FROM nginx:alpine
COPY --from=build /work/_docs/html/ /usr/share/nginx/html/
COPY --from=build /work/c-toxcore/_docs/html/ /usr/share/nginx/html/

View File

@@ -0,0 +1,25 @@
# ===== common =====
# Ignore everything ...
**/*
# ... except sources
!**/*.[ch]
!**/*.cc
!**/*.hh
!CHANGELOG.md
!LICENSE
!README.md
!auto_tests/data/*
!other/bootstrap_daemon/bash-completion/**
!other/bootstrap_daemon/tox-bootstrapd.*
!other/proxy/*.mod
!other/proxy/*.sum
!other/proxy/*.go
# ... and CMake build files (used by most builds).
!**/CMakeLists.txt
!.github/scripts/flags*.sh
!cmake/*.cmake
!other/pkgconfig/*
!other/rpm/*
!so.version
# ===== custom =====
!docs/Doxyfile

View File

@@ -1,8 +1,4 @@
#!/bin/sh
set -eux
BUILD=doxygen
other/docker/sources/build
docker build -t "toxchat/c-toxcore:$BUILD" -f "other/docker/$BUILD/$BUILD.Dockerfile" .
#!/usr/bin/env bash
. "$(cd "$(dirname "${BASH_SOURCE[0]}")/../sources" && pwd)/run.sh"
docker run --name toxcore-doxygen --rm -it -p "28192:80" "toxchat/c-toxcore:$BUILD"

View File

@@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Common docker build script usable by many builds in the other/docker
# directory. We're using a common dockerignore that ignores everything except
# sources and CMake scripts. Subdirectories can contain a "dockerignore" file
# (note the missing "." at the start) that will be pasted to the end of the
# common dockerignore file. This way, we can use "COPY ." and get all the
# files we need at once, which is much faster, more flexible, and less
# error-prone than manually writing lots of COPY directives.
SOURCESDIR="$(dirname "${BASH_SOURCE[0]}")"
DOCKERDIR="$(dirname "${BASH_SOURCE[1]}")"
BUILD="$(basename "$DOCKERDIR")"
set -eux
cat "$SOURCESDIR/sources.Dockerfile.dockerignore" >"$DOCKERDIR/$BUILD.Dockerfile.dockerignore"
if [ -f "$DOCKERDIR/dockerignore" ]; then
cat "$DOCKERDIR/dockerignore" >>"$DOCKERDIR/$BUILD.Dockerfile.dockerignore"
fi
docker build -t "toxchat/c-toxcore:$BUILD" -f "other/docker/$BUILD/$BUILD.Dockerfile" .

View File

@@ -1,3 +1,4 @@
# ===== common =====
# Ignore everything ...
**/*
# ... except sources