Do not embed build directory in documentation
authorVictor Westerhuis <victor@westerhu.is>
Sat, 19 Nov 2022 22:12:02 +0000 (23:12 +0100)
committerBastian Germann <bage@debian.org>
Tue, 18 Mar 2025 19:39:02 +0000 (20:39 +0100)
This makes the documentation build reproducibly.

Gbp-Pq: Name 0009-Do-not-embed-build-directory-in-documentation.patch

doc/CMakeLists.txt
doc/Doxyfile.in

index 411b77808aced0bfb52bf3c6dc28169b50f3ff98..28737ba7b75652447ab5654d5828bd70d5e6430e 100644 (file)
@@ -36,6 +36,7 @@ if(DOXYGEN_FOUND)
 
   # gathering headers
   set(paths_include)
+  set(paths_source)
   set(paths_doc)
   set(paths_bib)
   set(paths_sample)
@@ -72,6 +73,7 @@ if(DOXYGEN_FOUND)
           endif()
         endif()
       endif()
+      list(APPEND paths_source "${OPENCV_MODULE_opencv_${m}_LOCATION}/src")
       # doc folder
       set(docs_dir "${OPENCV_MODULE_opencv_${m}_LOCATION}/doc")
       if(EXISTS "${docs_dir}")
@@ -175,7 +177,7 @@ if(DOXYGEN_FOUND)
   string(REPLACE ";" " " CMAKE_DOXYGEN_ENABLED_SECTIONS "${CMAKE_DOXYGEN_ENABLED_SECTIONS}")
   # TODO: remove paths_doc from EXAMPLE_PATH after face module tutorials/samples moved to separate folders
   string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_EXAMPLE_PATH  "${example_path} ; ${paths_doc} ; ${paths_sample}")
-  string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INCLUDE_ROOTS "${paths_include}")
+  string(REPLACE ";" " \\\n" CMAKE_DOXYGEN_INCLUDE_ROOTS "${paths_include} ; ${paths_source}")
   set(CMAKE_DOXYGEN_LAYOUT "${CMAKE_CURRENT_BINARY_DIR}/DoxygenLayout.xml")
   set(CMAKE_DOXYGEN_OUTPUT_PATH "doxygen")
   set(CMAKE_DOXYGEN_MAIN_REFERENCE "${refs_main}")
index d757c6f92e5a01d8549b706769b45442ac09ee7a..19488528ebdc31acb62e97339158755e394d67a9 100644 (file)
@@ -25,7 +25,7 @@ ABBREVIATE_BRIEF       = "The $name class" \
 ALWAYS_DETAILED_SEC    = NO
 INLINE_INHERITED_MEMB  = NO
 FULL_PATH_NAMES        = YES
-STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@/modules @CMAKE_DOXYGEN_INCLUDE_ROOTS@
+STRIP_FROM_PATH        = @CMAKE_SOURCE_DIR@/modules @OPENCV_EXTRA_MODULES_PATH@ @CMAKE_SOURCE_DIR@/doc @CMAKE_BINARY_DIR@ @CMAKE_DOXYGEN_INCLUDE_ROOTS@
 STRIP_FROM_INC_PATH    = @CMAKE_DOXYGEN_INCLUDE_ROOTS@
 SHORT_NAMES            = NO
 JAVADOC_AUTOBRIEF      = NO