From 7fdb10258e0b34f721c309d0eea55b8c29d52403 Mon Sep 17 00:00:00 2001 From: Owen Green Date: Tue, 15 Feb 2022 16:22:25 +0000 Subject: [PATCH] Enhance/integrate doc (#68) * Add docs targets to CMake * Add docs targets to nightly workflow * fix doc copying for nightly * try again to fix doc copying for nightly * syntax error in yaml --- .github/workflows/nightly.yaml | 73 ++++++++++++++++++++++++---------- CMakeLists.txt | 36 +++++++++++++++++ 2 files changed, 88 insertions(+), 21 deletions(-) diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index 603058c..a894b1c 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -6,6 +6,19 @@ on: branches: [ dev, ci/** ] jobs: + docs: + runs-on: ubuntu-latest + steps: + - uses: flucoma/actions/env@v4 + - uses: flucoma/actions/docs@v4 + with: + target: MAKE_SC_REF + + - uses: actions/upload-artifact@v2 + with: + name: docs + path: build/sc_ref + macbuild: runs-on: macos-11 steps: @@ -13,14 +26,10 @@ jobs: - uses: flucoma/actions/env@v4 - uses: flucoma/actions/sc@v4 - - name: zip release - run: zip -r ../FluCoMa-SC-Mac-nightly.zip FluidCorpusManipulation - working-directory: install - - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v2 with: name: macbuild - path: FluCoMa-SC-Mac-nightly.zip + path: install winbuild: runs-on: windows-latest @@ -32,13 +41,11 @@ jobs: - name: remove pdb files run: Remove-Item install -Recurse -Include *.pdb - - name: zip release - run: Compress-Archive install/FluidCorpusManipulation FluCoMa-SC-Windows-nightly.zip + - uses: actions/upload-artifact@v2 - - uses: actions/upload-artifact@v2 - with: - name: winbuild - path: FluCoMa-SC-Windows-nightly.zip + with: + name: winbuild + path: install linuxbuild: runs-on: ubuntu-18.04 @@ -47,33 +54,57 @@ jobs: - uses: flucoma/actions/env@v4 - uses: flucoma/actions/sc@v4 - - name: zip release - run: zip -r ../FluCoMa-SC-Linux-nightly.zip FluidCorpusManipulation - working-directory: install - - uses: actions/upload-artifact@v2 with: name: linuxbuild - path: FluCoMa-SC-Linux-nightly.zip + path: install release: runs-on: ubuntu-latest - needs: [macbuild, winbuild, linuxbuild] + needs: [macbuild, winbuild, linuxbuild,docs] steps: + + - uses: actions/download-artifact@v2 + with: + name: docs + path: docs + - uses: actions/download-artifact@v2 with: name: macbuild - path: . + path: mac + + - name: copy docs to mac + run: mkdir -p mac/FluidCorpusManipulation/HelpSource && cp -r docs/* mac/FluidCorpusManipulation/HelpSource + + + - name: compress win + run: zip -r ../FluCoMa-SC-Mac-nightly.zip . + working-directory: mac - uses: actions/download-artifact@v2 with: name: winbuild - path: . + path: win + + - name: copy docs to win + run: mkdir -p win/FluidCorpusManipulation/HelpSource && cp -r docs/* win/FluidCorpusManipulation/HelpSource + + - name: compress win + run: zip -r ../FluCoMa-SC-Windows-nightly.zip . + working-directory: win - uses: actions/download-artifact@v2 with: name: linuxbuild - path: . + path: linux + + - name: copy docs to linux + run: mkdir -p linux/FluidCorpusManipulation/HelpSource && cp -r docs/* linux/FluidCorpusManipulation/HelpSource + + - name: compress linux + run: zip -r ../FluCoMa-SC-Linux-nightly.zip . + working-directory: linux - uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d0192a..40c5273 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -74,6 +74,13 @@ FetchContent_Declare( GIT_TAG origin/main ) +FetchContent_Declare( + flucoma-docs + GIT_REPOSITORY https://github.com/flucoma/flucoma-docs.git + GIT_PROGRESS TRUE + GIT_TAG origin/main +) + if(FLUID_PATH) get_filename_component( FETCHCONTENT_SOURCE_DIR_FLUCOMA-CORE ${FLUID_PATH} ABSOLUTE @@ -89,6 +96,30 @@ if(NOT flucoma-core_POPULATED) include(flucoma-buildtype) endif() +option(DOCS "Generate scdocs" OFF) +set(FLUID_DOCS_PATH "" CACHE PATH "Optional path to flucoma-docs (needed for docs); will download if absent") + +if(DOCS) + + set(${SC_DOC_OUT} "${CMAKE_SOURCE_DIR}/HelpSource/" CACHE PATH "") + + if(FLUID_DOCS_PATH) + get_filename_component( + FETCHCONTENT_SOURCE_DIR_FLUCOMA-DOCS ${FLUID_DOCS_PATH} ABSOLUTE + ) + endif() + + FetchContent_GetProperties(flucoma-docs) + if(NOT flucoma-docs_POPULATED) + FetchContent_Populate(flucoma-docs) + file(GLOB_RECURSE DOC_SOURCE RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${flucoma-docs_SOURCE_DIR}/**/*.cpp" ) + source_group("\\SC Doc Gen" FILES ${DOC_SOURCE}) + add_subdirectory(${flucoma-docs_SOURCE_DIR} ${flucoma-docs_BINARY_DIR}) + endif() + + add_custom_target(SC_MAKE_DOCS ALL DEPENDS MAKE_SC_REF) +endif() + set_if_toplevel(VAR CMAKE_LIBRARY_OUTPUT_DIRECTORY TOPLEVEL "${CMAKE_CURRENT_SOURCE_DIR}/release-packaging/Plugins" SUPERBUILD "${CMAKE_SOURCE_DIR}/sc_plugins/${CMAKE_HOST_SYSTEM_NAME}/${CMAKE_HOST_SYSTEM_PROCESSOR}") @@ -209,3 +240,8 @@ install(FILES QuickStart.md install(FILES ${flucoma-core_SOURCE_DIR}/distribution.lic DESTINATION ${SC_PACKAGE_ROOT} RENAME LICENSE.md) + +if(DOCS) + install(DIRECTORY "${SC_DOC_OUT}" + DESTINATION "${SC_PACKAGE_ROOT}/HelpSource") +endif()