summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/Doxyfile.in2
-rw-r--r--meson.build32
-rw-r--r--src/libcamera/base/meson.build1
-rw-r--r--src/libcamera/meson.build1
4 files changed, 36 insertions, 0 deletions
diff --git a/Documentation/Doxyfile.in b/Documentation/Doxyfile.in
index 88dfcdda..e4f0cd42 100644
--- a/Documentation/Doxyfile.in
+++ b/Documentation/Doxyfile.in
@@ -66,6 +66,8 @@ EXCLUDE_SYMBOLS = libcamera::BoundMethodArgs \
*::details \
std::*
+EXCLUDE_SYMLINKS = YES
+
HTML_OUTPUT = api-html
GENERATE_LATEX = NO
diff --git a/meson.build b/meson.build
index 2c6173b4..d8a951a1 100644
--- a/meson.build
+++ b/meson.build
@@ -26,6 +26,38 @@ endif
libcamera_version = libcamera_git_version.split('+')[0]
+# A shallow clone, or a clone without a reachable tag equivalent to the
+# meson.project_version() could leave the project in a mis-described state.
+# Produce a warning in this event, and fix to a best effort.
+if libcamera_version != meson.project_version()
+ warning('The sources disagree about the version: '
+ + libcamera_version + ' != ' + meson.project_version())
+
+ summary({'libcamera git version' : libcamera_git_version,
+ 'Source version match' : false,
+ },
+ bool_yn : true, section : 'Versions')
+
+ libcamera_git_version = libcamera_git_version.replace(libcamera_version,
+ meson.project_version())
+ libcamera_version = meson.project_version()
+
+ # Append a marker to show we have modified this version string
+ libcamera_git_version += '-nvm'
+endif
+
+# Until we make ABI compatible releases, the full libcamera version is used as
+# the soname. No ABI/API compatibility is guaranteed between releases (x.y.z).
+#
+# When automatic ABI based detection is used to increment the version, this
+# will bump the minor number (x.y).
+#
+# When we declare a stable ABI/API we will provide a 1.0 release and the
+# soversion at that point will be the 'major' release value (x).
+libcamera_soversion = libcamera_version
+
+summary({ 'Sources': libcamera_git_version, }, section : 'Versions')
+
# This script generates the .tarball-version file on a 'meson dist' command.
meson.add_dist_script('utils/run-dist.sh')
diff --git a/src/libcamera/base/meson.build b/src/libcamera/base/meson.build
index 7a75914a..7a7fd7e4 100644
--- a/src/libcamera/base/meson.build
+++ b/src/libcamera/base/meson.build
@@ -51,6 +51,7 @@ libcamera_base_args = [ '-DLIBCAMERA_BASE_PRIVATE' ]
libcamera_base_lib = shared_library('libcamera-base',
[libcamera_base_sources, libcamera_base_headers],
version : libcamera_version,
+ soversion : libcamera_soversion,
name_prefix : '',
install : true,
cpp_args : libcamera_base_args,
diff --git a/src/libcamera/meson.build b/src/libcamera/meson.build
index 7fcbb2dd..5f39d2e2 100644
--- a/src/libcamera/meson.build
+++ b/src/libcamera/meson.build
@@ -161,6 +161,7 @@ libcamera_deps = [
libcamera = shared_library('libcamera',
libcamera_sources,
version : libcamera_version,
+ soversion : libcamera_soversion,
name_prefix : '',
install : true,
include_directories : includes,