From 2add67fe6ac0d9104ddc83c7aa85dff4b06404bd Mon Sep 17 00:00:00 2001 From: Mat Sutcliffe Date: Tue, 10 Jun 2025 23:47:52 +0100 Subject: [PATCH] feat: doxygen docs include hyperlinks to Qt docs --- .github/workflows/build.yml | 14 ++++++++++++-- docs/Doxyfile | 19 +++++++++++++++++++ 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e8466d330..e5a8413cf 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,6 +17,7 @@ concurrency: env: do_vatsim_key: ${{ github.event_name == 'push' }} do_symbols: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + do_doxygen: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} qt_version: 6.8.0 bitrock_version: qt-professional-24.7.0 bitrock_url: https://releases.installbuilder.com/installbuilder @@ -81,16 +82,25 @@ jobs: cppcheck --template=gcc --inline-suppr --std=c++17 --enable=style,unusedFunction \ -i src/plugins/weatherdata/gfs/g2clib -DCPPCHECK --force --suppressions-list=cppcheck.supp \ --library=qt.cfg --library=posix.cfg . + - name: Install Qt docs + if: ${{ env.do_doxygen == 'true' }} + uses: jurplel/install-qt-action@v4 + with: + version: ${{ env.qt_version }} + no-qt-binaries: true + documentation: true + cache: true - name: Run doxygen - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + if: ${{ env.do_doxygen == 'true' }} working-directory: docs run: | sudo apt-get -y install doxygen graphviz doxygen Doxyfile env: DOXY_SRC_ROOT: .. + DOXY_TAGFILES: ${{ runner.workspace }}/Qt/Docs/Qt-${{ env.qt_version }} - name: Upload doxygen - if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + if: ${{ env.do_doxygen == 'true' }} uses: actions/upload-pages-artifact@v3 with: path: docs/html/ diff --git a/docs/Doxyfile b/docs/Doxyfile index 6e9691272..51ed86d22 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -2199,6 +2199,25 @@ SKIP_FUNCTION_MACROS = YES # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. +TAGFILES = $(DOXY_TAGFILES)/qdoc/qdoc.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qmake/qmake.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtconcurrent/qtconcurrent.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtcore/qtcore.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtdbus/qtdbus.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtgui/qtgui.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtnetwork/qtnetwork.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtopengl/qtopengl.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtqml/qtqml.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtqmlcore/qtqmlcore.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtqmlmodels/qtqmlmodels.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtqmltest/qtqmltest.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtqmlworkerscript/qtqmlworkerscript.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtqmlxmllistmodel/qtqmlxmllistmodel.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtsvg/qtsvg.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qttestlib/qttestlib.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtwidgets/qtwidgets.tags=http://doc.qt.io/qt-6/ \ + $(DOXY_TAGFILES)/qtxml/qtxml.tags=http://doc.qt.io/qt-6/ + # When a file name is specified after GENERATE_TAGFILE, doxygen will create a # tag file that is based on the input files it reads. See section "Linking to # external documentation" for more information about the usage of tag files.