diff --git a/.github/workflows/doxygen.yml b/.github/workflows/doxygen.yml new file mode 100644 index 00000000..b837cf9f --- /dev/null +++ b/.github/workflows/doxygen.yml @@ -0,0 +1,42 @@ +name: Generate Doxygen Documentation for libfranka + +on: + push: + tags: + - '*' + +jobs: + doxygen: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Install Doxygen + run: sudo apt-get install doxygen graphviz -y + + - name: Generate Doxygen configuration and build it + run: | + TAG_NAME=$(echo $GITHUB_REF | sed 's/refs\/tags\///') + mkdir -p build/doc/docs/$TAG_NAME && cd build && cmake -D BUILD_DOCUMENTATION=ON -D SKIP_CXX_BUILD=ON .. && make doc + + - name: Move contents of html folder one level up + run: | + TAG_NAME=$(echo $GITHUB_REF | sed 's/refs\/tags\///') + mv build/doc/docs/$TAG_NAME/html/* build/doc/docs/$TAG_NAME/ + + - name: Create index.html for redirect + run: | + TAG_NAME=$(echo $GITHUB_REF | sed 's/refs\/tags\///') + URL="https://frankaemika.github.io/libfranka/${TAG_NAME}/" + echo $URL + echo "
" > build/doc/docs/index.html + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_branch: gh-pages + publish_dir: build/doc/docs + keep_files: true diff --git a/CMakeLists.txt b/CMakeLists.txt index 5f6c8aed..70b4729c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,13 +2,23 @@ cmake_minimum_required(VERSION 3.4) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -set(libfranka_VERSION 0.13.4) +set(libfranka_VERSION 0.13.5) project(libfranka VERSION ${libfranka_VERSION} LANGUAGES CXX ) +option(BUILD_DOCUMENTATION "Build documentation" OFF) +option(SKIP_CXX_BUILD "Skips the c++ build" OFF) +if(BUILD_DOCUMENTATION) + add_subdirectory(doc) + + if(SKIP_CXX_BUILD) + return() + endif() +endif() + list(INSERT CMAKE_MODULE_PATH 0 "${CMAKE_CURRENT_SOURCE_DIR}/cmake") set(CMAKE_CXX_STANDARD 17) @@ -175,11 +185,6 @@ if(BUILD_EXAMPLES) add_subdirectory(examples) endif() -option(BUILD_DOCUMENTATION "Build documentation" OFF) -if(BUILD_DOCUMENTATION) - add_subdirectory(doc) -endif() - ## Packaging set(CPACK_PACKAGE_VENDOR "Franka Robotics GmbH") set(CPACK_GENERATOR "DEB;TGZ") diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index 4a7d0da2..47d5a030 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -58,7 +58,7 @@ PROJECT_LOGO = @CMAKE_CURRENT_SOURCE_DIR@/Logo_FRANKA_EMIKA_dark.png # entered, it will be relative to the location where doxygen was started. If # left blank the current directory will be used. -OUTPUT_DIRECTORY = +OUTPUT_DIRECTORY = "docs/@PROJECT_VERSION@" # If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- # directories (in 2 levels) under the output directory of each output format and diff --git a/package.xml b/package.xml index e8ee094f..96244d63 100644 --- a/package.xml +++ b/package.xml @@ -4,7 +4,7 @@ schematypens="http://www.w3.org/2001/XMLSchema"?>