2020-07-25 21:22:40 +08:00
|
|
|
find_package(Doxygen)
|
|
|
|
|
|
2024-10-26 03:03:08 +08:00
|
|
|
if(DOXYGEN_FOUND)
|
2020-08-14 21:48:44 +08:00
|
|
|
set(
|
|
|
|
|
LIB_DIRS
|
2021-10-11 06:14:37 +08:00
|
|
|
../Cesium3DTiles/include
|
2023-06-28 00:04:00 +08:00
|
|
|
../Cesium3DTiles/generated/include
|
2024-12-05 03:39:16 +08:00
|
|
|
../Cesium3DTilesContent/include
|
2021-10-11 07:36:26 +08:00
|
|
|
../Cesium3DTilesReader/include
|
2024-11-27 06:56:20 +08:00
|
|
|
../Cesium3DTilesReader/generated/include
|
2021-12-03 08:49:20 +08:00
|
|
|
../Cesium3DTilesWriter/include
|
2021-07-15 21:33:29 +08:00
|
|
|
../Cesium3DTilesSelection/include
|
2021-01-07 10:54:25 +08:00
|
|
|
../CesiumAsync/include
|
2025-06-04 14:19:50 +08:00
|
|
|
../CesiumCurl/include
|
2020-07-25 21:22:40 +08:00
|
|
|
../CesiumGeometry/include
|
2021-01-07 10:54:25 +08:00
|
|
|
../CesiumGeospatial/include
|
|
|
|
|
../CesiumGltf/include
|
2023-06-28 00:04:00 +08:00
|
|
|
../CesiumGltf/generated/include
|
2024-11-27 03:14:58 +08:00
|
|
|
../CesiumGltfContent/include
|
2021-01-07 10:54:25 +08:00
|
|
|
../CesiumGltfReader/include
|
2024-11-27 06:56:20 +08:00
|
|
|
../CesiumGltfReader/generated/include
|
2021-03-03 06:10:48 +08:00
|
|
|
../CesiumGltfWriter/include
|
2025-03-08 05:41:26 +08:00
|
|
|
../CesiumClientCommon/include
|
2024-08-15 03:46:30 +08:00
|
|
|
../CesiumIonClient/include
|
2025-03-12 05:57:53 +08:00
|
|
|
../CesiumITwinClient/include
|
2025-04-03 05:18:53 +08:00
|
|
|
../CesiumVectorData/include
|
2024-08-15 03:46:30 +08:00
|
|
|
../CesiumJsonReader/include
|
|
|
|
|
../CesiumJsonWriter/include
|
|
|
|
|
../CesiumQuantizedMeshTerrain/include
|
2024-11-27 06:56:20 +08:00
|
|
|
../CesiumQuantizedMeshTerrain/generated/include
|
2024-04-09 18:10:45 +08:00
|
|
|
../CesiumRasterOverlays/include
|
2024-08-15 03:46:30 +08:00
|
|
|
../CesiumUtility/include
|
2020-07-25 21:22:40 +08:00
|
|
|
)
|
2020-08-14 21:48:44 +08:00
|
|
|
|
|
|
|
|
set(DOXYGEN_STRIP_FROM_INC_PATH ${LIB_DIRS})
|
2025-02-05 02:02:34 +08:00
|
|
|
|
|
|
|
|
# Instead of specifying the full source tree in the example path, specify only the Cesium* lib directories to reduce parsing time
|
|
|
|
|
file(GLOB example_dirs LIST_DIRECTORIES true RELATIVE ${CMAKE_CURRENT_LIST_DIR} "../Cesium*")
|
|
|
|
|
foreach(child ${example_dirs})
|
|
|
|
|
if(IS_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/${child})
|
|
|
|
|
list(APPEND DOXYGEN_EXAMPLE_PATH ${CMAKE_CURRENT_LIST_DIR}/${child})
|
|
|
|
|
endif()
|
|
|
|
|
endforeach()
|
2020-08-14 21:48:44 +08:00
|
|
|
|
2020-10-27 06:51:23 +08:00
|
|
|
# These macro definitions confuse doxygen, causing it
|
2020-10-27 06:09:31 +08:00
|
|
|
# to omit the respective elements in the documentation,
|
2020-10-27 06:51:23 +08:00
|
|
|
# so ignore these macros during doxygen preprocessing:
|
2020-10-27 06:09:31 +08:00
|
|
|
set(DOXYGEN_ENABLE_PREPROCESSING YES)
|
|
|
|
|
set(DOXYGEN_MACRO_EXPANSION YES)
|
2025-02-05 02:45:02 +08:00
|
|
|
set(DOXYGEN_EXPAND_ONLY_PREDEF NO)
|
2024-11-27 06:56:20 +08:00
|
|
|
set(DOXYGEN_PREDEFINED
|
2024-11-27 03:14:58 +08:00
|
|
|
"CESIUM3DTILES_API"
|
|
|
|
|
"CESIUM3DTILESCONTENT_API"
|
|
|
|
|
"CESIUM3DTILESREADER_API"
|
2024-11-27 06:56:20 +08:00
|
|
|
"CESIUM3DTILESSELECTION_API"
|
2024-11-27 03:14:58 +08:00
|
|
|
"CESIUM3DTILESWRITER_API"
|
|
|
|
|
"CESIUMASYNC_API"
|
2025-06-04 14:19:50 +08:00
|
|
|
"CESIUMCURL_API"
|
2025-03-26 03:19:49 +08:00
|
|
|
"CESIUMCLIENTCOMMON_API"
|
2024-11-27 06:56:20 +08:00
|
|
|
"CESIUMGEOMETRY_API"
|
2024-11-27 03:14:58 +08:00
|
|
|
"CESIUMGEOSPATIAL_API"
|
|
|
|
|
"CESIUMGLTF_API"
|
|
|
|
|
"CESIUMGLTFCONTENT_API"
|
|
|
|
|
"CESIUMGLTFREADER_API"
|
|
|
|
|
"CESIUMGLTFWRITER_API"
|
2025-03-12 05:57:53 +08:00
|
|
|
"CESIUMIWINCLIENT_API"
|
2024-11-27 03:14:58 +08:00
|
|
|
"CESIUMIONCLIENT_API"
|
|
|
|
|
"CESIUMJSONREADER_API"
|
|
|
|
|
"CESIUMJSONWRITER_API"
|
|
|
|
|
"CESIUMQUANTIZEDMESHTERRAIN_API"
|
|
|
|
|
"CESIUMRASTEROVERLAYS_API"
|
|
|
|
|
"CESIUMUTILITY_API"
|
2025-02-05 02:02:34 +08:00
|
|
|
"CESIUM_DEFAULT_ELLIPSOID==CesiumGeospatial::Ellipsoid::WGS84")
|
2024-10-26 03:03:08 +08:00
|
|
|
set(DOXYGEN_HTML_EXTRA_STYLESHEET "${CMAKE_CURRENT_LIST_DIR}/../node_modules/doxygen-awesome-css/doxygen-awesome.css")
|
2024-11-22 05:49:24 +08:00
|
|
|
set(DOXYGEN_HTML_FOOTER "${CMAKE_CURRENT_LIST_DIR}/footer.html")
|
2024-10-26 03:03:08 +08:00
|
|
|
set(DOXYGEN_GENERATE_TREEVIEW YES)
|
|
|
|
|
set(DOXYGEN_DISABLE_INDEX NO)
|
|
|
|
|
set(DOXYGEN_FULL_SIDEBAR NO)
|
|
|
|
|
set(DOXYGEN_HTML_COLORSTYLE LIGHT)
|
|
|
|
|
set(DOXYGEN_SOURCE_BROWSER YES)
|
|
|
|
|
set(DOXYGEN_BUILTIN_STL_SUPPORT YES)
|
|
|
|
|
set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "../README.md")
|
2025-03-27 19:26:17 +08:00
|
|
|
set(DOXYGEN_USE_MATHJAX YES)
|
2024-12-10 19:11:33 +08:00
|
|
|
|
2024-12-18 00:30:58 +08:00
|
|
|
set(DOXYGEN_DOT_GRAPH_MAX_NODES 100)
|
|
|
|
|
set(DOXYGEN_WARN_AS_ERROR FAIL_ON_WARNINGS_PRINT)
|
2024-12-17 08:20:15 +08:00
|
|
|
list(APPEND DOXYGEN_IMAGE_PATH "${CMAKE_CURRENT_LIST_DIR}/")
|
|
|
|
|
list(APPEND DOXYGEN_IMAGE_PATH "${CMAKE_CURRENT_LIST_DIR}/img")
|
|
|
|
|
|
2024-12-05 03:39:16 +08:00
|
|
|
set(DOXYGEN_MARKDOWN_ID_STYLE GITHUB)
|
2024-12-06 07:27:49 +08:00
|
|
|
set(DOXYGEN_INTERACTIVE_SVG YES)
|
2024-12-06 04:43:39 +08:00
|
|
|
# Tag files can be used by other Doxygen projects to link to our docs
|
|
|
|
|
# For example, Cesium for Unreal can use it to link to the Cesium Native docs without duplicating them.
|
|
|
|
|
set(DOXYGEN_GENERATE_TAGFILE "${CMAKE_CURRENT_BINARY_DIR}/html/cesium-native.tag")
|
2020-10-27 06:09:31 +08:00
|
|
|
|
2024-12-13 07:33:00 +08:00
|
|
|
if(NOT CESIUM_PRODUCTION_DOCS)
|
|
|
|
|
set(DOXYGEN_PROJECT_BRIEF "PRE-RELEASE")
|
2024-12-18 23:19:56 +08:00
|
|
|
set(DOXYGEN_HTML_HEADER "${CMAKE_CURRENT_LIST_DIR}/header-noindex.html")
|
|
|
|
|
else()
|
|
|
|
|
set(DOXYGEN_HTML_HEADER "${CMAKE_CURRENT_LIST_DIR}/header.html")
|
2024-12-13 07:33:00 +08:00
|
|
|
endif()
|
|
|
|
|
|
2024-11-22 05:50:16 +08:00
|
|
|
# Add support for Mermaid charts using the @mermaid command.
|
2024-12-07 07:21:57 +08:00
|
|
|
set(DOXYGEN_HTML_EXTRA_FILES "${CMAKE_CURRENT_LIST_DIR}/assets/mermaid.min.js ${CMAKE_CURRENT_LIST_DIR}/assets/mingcute.json.js ${CMAKE_CURRENT_LIST_DIR}/assets/panzoom.js")
|
2025-02-06 03:29:50 +08:00
|
|
|
list(APPEND DOXYGEN_ALIASES mermaid{1}="\\htmlonly <div class=\\\"mermaid\\\"> \\ilinebr \\endhtmlonly \\htmlinclude \\\"\\1.mmd\\\" \\htmlonly \\ilinebr </div> \\endhtmlonly")
|
|
|
|
|
list(APPEND DOXYGEN_ALIASES mermaid-interactive{1}="\\htmlonly <div class=\\\"mermaid interactive\\\"> \\ilinebr \\endhtmlonly \\htmlinclude \\\"\\1.mmd\\\" \\htmlonly \\ilinebr </div> \\endhtmlonly")
|
|
|
|
|
list(APPEND DOXYGEN_ALIASES svg-interactive{2}="\\htmlonly <div class=\\\"svg interactive\\\" style=\\\"min-height: \\2\\\"> \\ilinebr \\endhtmlonly \\image html \\\"\\1.svg\\\" \\htmlonly \\ilinebr </div> \\endhtmlonly")
|
2024-11-22 04:43:20 +08:00
|
|
|
set(DOXYGEN_VERBATIM_VARS DOXYGEN_ALIASES DOXYGEN_HTML_EXTRA_FILES)
|
2024-11-25 14:34:45 +08:00
|
|
|
list(APPEND DOXYGEN_EXAMPLE_PATH "${CMAKE_CURRENT_LIST_DIR}/diagrams")
|
2024-11-22 04:43:20 +08:00
|
|
|
|
2025-01-17 03:34:21 +08:00
|
|
|
list(APPEND DOXYGEN_TAGFILES "${CMAKE_CURRENT_LIST_DIR}/community.tag=https://github.com/CesiumGS/community/blob/main")
|
|
|
|
|
|
2024-11-27 05:05:54 +08:00
|
|
|
cesium_glob_files(
|
|
|
|
|
CESIUM_DOC_TOPICS
|
|
|
|
|
${CMAKE_CURRENT_LIST_DIR}/topics/*.md
|
|
|
|
|
)
|
|
|
|
|
|
2020-08-14 21:48:44 +08:00
|
|
|
doxygen_add_docs(
|
|
|
|
|
cesium-native-docs
|
2024-12-06 03:09:25 +08:00
|
|
|
"../CONTRIBUTING.md"
|
2024-10-26 03:03:08 +08:00
|
|
|
"../README.md"
|
2024-12-06 07:27:49 +08:00
|
|
|
"../CHANGES.md"
|
2024-11-27 05:05:54 +08:00
|
|
|
${CESIUM_DOC_TOPICS}
|
2020-08-14 21:48:44 +08:00
|
|
|
${LIB_DIRS}
|
|
|
|
|
)
|
2020-07-25 21:22:40 +08:00
|
|
|
endif()
|