summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt13
-rw-r--r--NEWS13
-rw-r--r--src/CMakeLists.txt4
3 files changed, 17 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a1452c4..7f65e9c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,13 +2,18 @@ cmake_minimum_required(VERSION 2.8)
project(uca C)
set(TARNAME "libuca")
-set(UCA_VERSION_MAJOR "1")
-set(UCA_VERSION_MINOR "3")
-set(UCA_VERSION_PATCH "0dev")
set(UCA_DESCRIPTION "Unified Camera Access")
+# These are software release versions
+set(UCA_VERSION_MAJOR "1")
+set(UCA_VERSION_MINOR "3")
+set(UCA_VERSION_PATCH "0")
set(UCA_VERSION_STRING "${UCA_VERSION_MAJOR}.${UCA_VERSION_MINOR}.${UCA_VERSION_PATCH}")
-set(UCA_ABI_VERSION "${UCA_VERSION_MAJOR}.${UCA_VERSION_MINOR}")
+
+# Increase the ABI version when binary compatibility cannot be guaranteed, e.g.
+# symbols have been removed, function signatures, structures, constants etc.
+# changed.
+set(UCA_ABI_VERSION "2")
set(CPACK_PACKAGE_VERSION "${UCA_VERSION_STRING}")
set(CPACK_PACKAGE_NAME "${TARNAME}")
diff --git a/NEWS b/NEWS
index dd52495..063a8ca 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,12 @@ Changelog
Changes in libuca 1.3
---------------------
+### Correct ABI versioning
+
+Until now, the ABI version was not set correctly and all versions prior 1.3 bear
+the same ABI version 1. This version has ABI version 2 and all subsequent
+versions will increase it if the ABI breaks.
+
### Minor changes
- Added `sensor-pixel-width` and `sensor-pixel-height` to describe the cameras
@@ -67,16 +73,13 @@ The plugin manager adds a dependency on GModule (pkg-config package
- It is now possible to generate GObject introspection meta data to bind libuca
to all languages that support GObject introspection. A first experiment of
UcaDevice using this was successful and the camera showed up in Jive.
-
- Added virtual function uca_camera_stop_readout() to cleanup after using
uca_camera_start_readout().
-
- There is now a mechanism to register and query physical units of camera
properties. Camera plugins must call uca_camera_register_unit() for each
property that they want to have a physical unit (e.g. UCA_UNIT_SECOND)
attached to. Client programs can get this information with
uca_camera_get_unit().
-
- The control GUI learned some new tricks: live histogram, zooming and recording
into an internal ring buffer.
@@ -108,15 +111,11 @@ Changes in libuca 0.5.0
-----------------------
- Put work under LGPL 2.1
-
- Adapt cameras/ipe.c to support the current driver API
-
- Adapt cameras/pco.c to support libpco 0.3
-
- API changes
- new enum type uca_buffer_status
- uca_cam_grab_callback()s have to return uca_buffer_status
- typedef all types
-
- New symbols:
- uca_cam_release_buffer()
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6d4d6b9..a692108 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -47,8 +47,8 @@ add_library(uca SHARED
${CMAKE_CURRENT_BINARY_DIR}/uca-enums.c)
set_target_properties(uca PROPERTIES
- VERSION ${UCA_ABI_VERSION}
- SOVERSION ${UCA_VERSION_MAJOR})
+ VERSION ${UCA_VERSION_STRING}
+ SOVERSION ${UCA_ABI_VERSION})
target_link_libraries(uca ${UCA_DEPS})