From ca52bfefc0aeb8880baa623f081bc79ab1315598 Mon Sep 17 00:00:00 2001 From: Sergey Avseyev <sergey.avseyev@gmail.com> Date: Fri, 10 Nov 2017 01:39:32 +0300 Subject: [PATCH] Specify ABI version for shared library (#4479) --- CMakeLists.txt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 03291478..7c029476 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -189,7 +189,16 @@ endif() if(FLATBUFFERS_BUILD_SHAREDLIB) add_library(flatbuffers_shared SHARED ${FlatBuffers_Library_SRCS}) - set_target_properties(flatbuffers_shared PROPERTIES OUTPUT_NAME flatbuffers) + + # Shared object version: "major.minor.micro" + # - micro updated every release when there is no API/ABI changes + # - minor updated when there are additions in API/ABI + # - major (ABI number) updated when there are changes in ABI (or removals) + set(FlatBuffers_Library_SONAME_MAJOR "1") + set(FlatBuffers_Library_SONAME_FULL "${FlatBuffers_Library_SONAME_MAJOR}.0.0") + set_target_properties(flatbuffers_shared PROPERTIES OUTPUT_NAME flatbuffers + SOVERSION "${FlatBuffers_Library_SONAME_MAJOR}" + VERSION "${FlatBuffers_Library_SONAME_FULL}") endif() function(compile_flatbuffers_schema_to_cpp SRC_FBS) -- GitLab