* Add ci.yml for storage * OSVmImage * Use correct name for storage * Update ci.ymls * Documentation generation * Fix tabbing * More tabbing * Use correct service directory for storage ci.yml * Add docs assets * Use cpp for dropdown generation * Use cmake to generate documentation * Use CMake to generate doxygen docs * BuildArgs -> GenerateArgs * Correct template path * More CURL options * Install curl to satisfy minimum build requirements * use dependency variable name * Add VCPKG_DEFAULT_TRIPLET * Always generate documentaion when -DBUILD_DOCUMENTATION=YES * Build docs at top level * Change variable names, simplify cmake-build.yml * -DBUILD_DOCUMENTATION * Try using MathJax for formula rendering instead of Latex * Add version.txt for storage * artifact.Name -> artifact.Path * Build docs by target * Remove Doxyfile * Remove Doxyfile.template * Remove generate_docs.py, we are using cmake * Pass CtestRegex to archetype-sdk-client job template)
32 lines
1.3 KiB
CMake
32 lines
1.3 KiB
CMake
# Creates custom targets for documentation generation if
|
|
# BUILD_DOCUMENTATION == YES
|
|
# Usage: generate_documentation(azure-core 1.0.0-preview.1)
|
|
# Requires: Doxygen
|
|
# Target name in the form of ${PROJECT_NAME}-docs (e.g. azure-core-docs)
|
|
|
|
function(generate_documentation PROJECT_NAME PROJECT_VERSION)
|
|
if(BUILD_DOCUMENTATION)
|
|
find_package(Doxygen REQUIRED doxygen)
|
|
|
|
set(DOXYGEN_PROJECT_NAME ${PROJECT_NAME})
|
|
set(DOXYGEN_PROJECT_NUMBER ${PROJECT_VERSION})
|
|
|
|
set(DOXYGEN_OUTPUT_DIRECTORY docs)
|
|
set(DOXYGEN_LAYOUT_FILE ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/DoxygenLayout.xml)
|
|
set(DOXYGEN_RECURSIVE YES)
|
|
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE ./README.md)
|
|
set(DOXYGEN_INLINE_SOURCES YES)
|
|
set(DOXYGEN_IGNORE_PREFIX az_ AZ_)
|
|
set(DOXYGEN_HTML_HEADER ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/header.html)
|
|
set(DOXYGEN_HTML_FOOTER ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/footer.html)
|
|
set(DOXYGEN_HTML_STYLESHEET ${CMAKE_SOURCE_DIR}/eng/docs/api/assets/style.css)
|
|
|
|
set(DOXYGEN_GENERATE_LATEX NO)
|
|
# Use MathJax instead of latex to render formulas
|
|
set(DOXYGEN_USE_MATHJAX YES)
|
|
|
|
doxygen_add_docs(${PROJECT_NAME}-docs
|
|
ALL
|
|
COMMENT "Generate documentation for ${TARGET_NAME}")
|
|
endif()
|
|
endfunction() |