From 0aac297afd0cf2748c20f919bdd8d5e390b8d9a8 Mon Sep 17 00:00:00 2001 From: Kieran Bingham Date: Sat, 1 Oct 2022 00:28:23 +0100 Subject: meson: Shared Object version handling The libcamera project is not yet ready to declare ABI nor API stability, but it will benefit the community to be able to provide more regular release cycles to determine 'versioned' points of history. Ideally, these releases will be made at any ABI breakage, but can be made at arbitary time based points along the way. To support releases which may not be ABI stable, declare the soversion of both the libcamera and libcamera-base library to be dependant upon both the major minor and patch component of the project version. As part of this, introduce a new 'Versions' summary section to highlight the different version components that may become apparent within any given build. Bumping versions may leave dangling libcamera.so.* symlinks in build directories. This will confuse Doxygen which will print during its directory scanning phase a warning that the symlink can't be read. As we don't need Doxygen to follow symlinks, disable it with EXCLUDE_SYMLINKS. Reviewed-by: Jacopo Mondi Reviewed-by: Laurent Pinchart Signed-off-by: Kieran Bingham --- src/libcamera/base/meson.build | 1 + src/libcamera/meson.build | 1 + 2 files changed, 2 insertions(+) (limited to 'src') 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, -- cgit v1.2.1