diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ee175ae..a4482dc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,10 +26,10 @@ jobs: fail-fast: false matrix: include: - - {os: ubuntu-22.04, cc: gcc-12, cxx: g++-12} - - {os: ubuntu-22.04, cc: clang-15, cxx: clang++-15} - - {os: macos-12, cc: gcc-12, cxx: g++-12} - - {os: macos-12, cc: clang, cxx: clang++} + - {os: ubuntu-22.04, cc: gcc-12, cxx: g++-12, doc: OFF} + - {os: ubuntu-22.04, cc: clang-15, cxx: clang++-15, doc: ON} + - {os: macos-12, cc: gcc-12, cxx: g++-12, doc: OFF} + - {os: macos-12, cc: clang, cxx: clang++, doc: OFF} runs-on: ${{ matrix.os }} @@ -91,6 +91,23 @@ jobs: echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV echo "PATH=$PATH" >> $GITHUB_ENV + - name: Build doxygen + if: matrix.doc == 'ON' + env: + CC: ${{ matrix.cc }} + CXX: ${{ matrix.cxx }} + LIBRARY_PATH: /usr/local/opt/llvm/lib + run: | + cd $HOME + git clone https://github.com/doxygen/doxygen.git + cd doxygen + git checkout Release_1_10_0 + mkdir build + cd build + cmake .. -Duse_libclang=ON -Dstatic_libclang=ON -Duse_libc++=OFF -DLLVM_ROOT=/usr/lib/llvm-15/lib/cmake/llvm -DClang_ROOT=/usr/lib/llvm-15/lib/cmake/clang + make -j 2 VERBOSE=1 + make install + - name: add clang cxxflags if: ${{ contains(matrix.cxx, 'clang') }} run: | @@ -103,7 +120,7 @@ jobs: CXX: ${{ matrix.cxx }} LIBRARY_PATH: /usr/local/opt/llvm/lib run: | - mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install + mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }} make -j2 || make -j1 VERBOSE=1 - name: Test itertools @@ -123,3 +140,11 @@ jobs: with: path: ${{ env.CCACHE_DIR }} key: ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }} + + - name: Deploy documentation + if: matrix.doc == 'ON' && github.ref == 'refs/heads/unstable' + uses: JamesIves/github-pages-deploy-action@v4 + with: + folder: build/doc/html + branch: github.io + target-folder: docs/unstable diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index bf0181e..b264831 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -632,14 +632,14 @@ CASE_SENSE_NAMES = SYSTEM # scope will be hidden. # The default value is: NO. -HIDE_SCOPE_NAMES = NO +HIDE_SCOPE_NAMES = YES # If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will # append additional text to a page's title, such as Class Reference. If set to # YES the compound reference will be hidden. # The default value is: NO. -HIDE_COMPOUND_REFERENCE = NO +HIDE_COMPOUND_REFERENCE = YES # If the SHOW_HEADERFILE tag is set to YES then the documentation for a class # will show which file needs to be included to use the class. @@ -939,7 +939,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/Changelog.md \ +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/ChangeLog.md \ @CMAKE_CURRENT_SOURCE_DIR@/documentation.md \ @CMAKE_CURRENT_SOURCE_DIR@/ex1.md \ @CMAKE_CURRENT_SOURCE_DIR@/examples.md \