build: allow passing SOVERSION value for dynamic library
authorJo-Philipp Wich <jo@mein.io>
Thu, 27 Jul 2023 09:07:54 +0000 (11:07 +0200)
committerJo-Philipp Wich <jo@mein.io>
Thu, 27 Jul 2023 09:59:13 +0000 (11:59 +0200)
In order to prepare for proper ABI handling in the OpenWrt package of
libnl-tiny, add an option to specify the library SOVERSION value when
invoking CMake.

Let the library SOVERSION default to `1` as first ABI version as the
library is stable and there's been no incompatible changes since it's
inception in 2009.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
CMakeLists.txt

index c780c96ec9495ee2b4f057cdcd0631314d21c530..ef32dad3829161ac6a88dc0097ac46ece77b1718 100644 (file)
@@ -24,7 +24,12 @@ SET(SOURCES
        socket.c
        unl.c
 )
+
+SET(SOVERSION 1 CACHE STRING "Override libnl-tiny library version")
+
 ADD_LIBRARY(nl-tiny SHARED ${SOURCES})
+SET_TARGET_PROPERTIES(nl-tiny PROPERTIES SOVERSION ${SOVERSION})
+
 ADD_LIBRARY(nl-tiny-static STATIC ${SOURCES})
 SET_TARGET_PROPERTIES(nl-tiny-static PROPERTIES OUTPUT_NAME nl-tiny)