cmake: update SOVERSION
authorAlexander Alekhin <alexander.a.alekhin@gmail.com>
Thu, 2 Dec 2021 13:32:59 +0000 (13:32 +0000)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Fri, 10 Dec 2021 16:14:56 +0000 (16:14 +0000)
- OpenCV 4.x doesn't guarantee or maintain ABI compatibility
- We should increase SO version on each release

cmake/OpenCVVersion.cmake

index a2b4926..6ffaab9 100644 (file)
@@ -10,8 +10,10 @@ set(OPENCV_VERSION_PLAIN "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPEN
 
 set(OPENCV_VERSION "${OPENCV_VERSION_PLAIN}${OPENCV_VERSION_STATUS}")
 
-set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}")
-set(OPENCV_LIBVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}")
+string(REGEX MATCH "[0-9][0-9]$" OPENCV_VERSION_MINOR_2DIGITS "00${OPENCV_VERSION_MINOR}")
+string(REGEX MATCH "[0-9][0-9]$" OPENCV_VERSION_PATCH_2DIGITS "00${OPENCV_VERSION_PATCH}")
+ocv_update(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR_2DIGITS}")
+ocv_update(OPENCV_LIBVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}.${OPENCV_VERSION_PATCH}")
 
 # create a dependency on the version file
 # we never use the output of the following command but cmake will rerun automatically if the version file changes