@@ -21,8 +21,8 @@
# -- Project information -----------------------------------------------------
project = 'libcamera'
-copyright = '2018-2019, The libcamera documentation authors'
-author = u'Kieran Bingham, Jacopo Mondi, Laurent Pinchart, Niklas Söderlund'
+copyright = '2018-2024, The libcamera documentation authors'
+author = u'Kieran Bingham, Jacopo Mondi, Laurent Pinchart, Niklas Söderlund, Stefan Klug'
# Version information is provided by the build environment, through the
# sphinx command line.
new file mode 120000
@@ -0,0 +1 @@
+../../subprojects/libcamera-tuning-guide/content/
\ No newline at end of file
@@ -16,6 +16,7 @@
Developer Guide <guides/introduction>
Application Writer's Guide <guides/application-developer>
+ Sensor Tuning Guide <guides/tuning/tuning>
Pipeline Handler Writer's Guide <guides/pipeline-handler>
IPA Writer's guide <guides/ipa>
Tracing guide <guides/tracing>
@@ -143,6 +143,8 @@ if sphinx.found()
'../README.rst',
]
+ subproject('libcamera-tuning-guide', required : true)
+
release = 'release=v' + libcamera_git_version
custom_target('documentation',
new file mode 100644
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: CC0-1.0
+
+[wrap-git]
+directory = libcamera-tuning-guide
+url = https://git.uk.ideasonboard.com/sklug/libcamera-tuning-guide.git
+# tags/0.2.5
+revision = head
Add the external tuning guide as meson subproject. Symlink it into the Documentation/guides directory, so that sphinx can pick it up. This setup feels a bit cumbersome, therefore I try to explain the reasoning (and maybe someone comes up with a better solution): The main reason is that we don't want to have large binary files (aka images) in the main libcamera repository. Especially if they change a lot the repository size increases tremendously. In a meson based project, meson subprojects are the way to go. This however has the following side effects: - The subprojects needs to contain a meson.build (That's why libcamera-tuning-guide is also meson based) - We can't reference ../subproject/libcamera-tuning-guide/tuning.rst from within the main meson build, as that violates the meson sandbox - Referencing ../subproject/libcamera-tuning-guide/tuning.rst via a sphinx include directive doesn't work either as sphinx then tries to resolve images relative to the outer document. - Symlinking ../subprojects/libcameta-tuning-guide into Documentation/guides works wuite well, but fails as soon as libcamera-tuning-guide contains an additional rst file (like index.rst) which is not referenced from the libcamera documentation. The solution is to move the actual content into ../subproject/libcamera-tuning-guide/content/ and to symlink that directory into Documentation/guides. Signed-off-by: Stefan Klug <stefan.klug@ideasonboard.com> --- Documentation/conf.py | 4 ++-- Documentation/guides/tuning | 1 + Documentation/index.rst | 1 + Documentation/meson.build | 2 ++ subprojects/libcamera-tuning-guide.wrap | 7 +++++++ 5 files changed, 13 insertions(+), 2 deletions(-) create mode 120000 Documentation/guides/tuning create mode 100644 subprojects/libcamera-tuning-guide.wrap