@@ -9,8 +9,14 @@ if(DOXYGEN_FOUND)
99 set (DOXYGEN_FULL_PATH_NAMES NO )
1010
1111 # Modern C++ features
12- set (DOXYGEN_CLANG_ASSISTED_PARSING YES )
13- set (DOXYGEN_CLANG_OPTIONS "-std=c++23;-stdlib=libc++" )
12+ # Documentation is a host-only activity. When cross-compiling,
13+ # Doxygen would run on the host but try to parse headers from
14+ # the cross-sysroot, which is extremely slow or hangs entirely
15+ # (especially with CLANG_ASSISTED_PARSING). Skip entirely.
16+ if (NOT CMAKE_CROSSCOMPILING )
17+ set (DOXYGEN_CLANG_ASSISTED_PARSING YES )
18+ set (DOXYGEN_CLANG_OPTIONS "-std=c++23;-stdlib=libc++" )
19+ endif ()
1420 set (DOXYGEN_CPP_CLI_SUPPORT YES )
1521 set (DOXYGEN_MARKDOWN_SUPPORT YES )
1622
@@ -33,11 +39,17 @@ if(DOXYGEN_FOUND)
3339 set (DOXYGEN_MATHJAX_FORMAT TeX)
3440 set (DOXYGEN_USE_MATHJAX YES )
3541
36- doxygen_add_docs (doxygen ${PROJECT_SOURCE_DIR} ALL
37- COMMENT "Building API documentation" )
42+ doxygen_add_docs (
43+ doxygen
44+ "${PROJECT_SOURCE_DIR} /src"
45+ "${PROJECT_SOURCE_DIR} /include"
46+ ALL
47+ COMMENT "Building API documentation" )
3848
39- install (DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} /generated-docs"
40- DESTINATION "share/doc/${PROJECT_NAME} " COMPONENT documentation)
49+ install (
50+ DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} /generated-docs"
51+ DESTINATION "share/doc/${PROJECT_NAME} "
52+ COMPONENT documentation)
4153else ()
4254 message (
4355 WARNING "Doxygen not found - documentation targets disabled\n "
0 commit comments