Skip to content

Commit

Permalink
docs: Fix up doxyfile.
Browse files Browse the repository at this point in the history
No longer using :sources, since that fails on render.com.
  • Loading branch information
iphydf committed Feb 7, 2024
1 parent d55fc85 commit aacff73
Show file tree
Hide file tree
Showing 7 changed files with 82 additions and 37 deletions.
33 changes: 16 additions & 17 deletions docs/Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
2 changes: 2 additions & 0 deletions other/docker/doxygen/dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# ===== custom =====
!docs/Doxyfile
29 changes: 15 additions & 14 deletions other/docker/doxygen/doxygen.Dockerfile
Original file line number Diff line number Diff line change
@@ -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/
25 changes: 25 additions & 0 deletions other/docker/doxygen/doxygen.Dockerfile.dockerignore
Original file line number Diff line number Diff line change
@@ -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
8 changes: 2 additions & 6 deletions other/docker/doxygen/run
Original file line number Diff line number Diff line change
@@ -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"
21 changes: 21 additions & 0 deletions other/docker/sources/run.sh
Original file line number Diff line number Diff line change
@@ -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" .
1 change: 1 addition & 0 deletions other/docker/sources/sources.Dockerfile.dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# ===== common =====
# Ignore everything ...
**/*
# ... except sources
Expand Down

0 comments on commit aacff73

Please sign in to comment.