cmake: add a possibility to set library version
authorFelix Fietkau <nbd@nbd.name>
Mon, 15 Feb 2021 18:11:58 +0000 (19:11 +0100)
committerFelix Fietkau <nbd@nbd.name>
Mon, 15 Feb 2021 18:12:12 +0000 (19:12 +0100)
Add a new `ABIVERSION` define which allows to control the SOVERSION used
for the built shared library. This is needed for downstream packaging to
properly track breaking ABI changes when updating to newer versions of
the library.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
CMakeLists.txt

index 117f0a37aa71960abb8b4a4f7a53c7c91757af72..a65ccbb80de140fc598b95e53b2c34af61b43793 100644 (file)
@@ -68,6 +68,10 @@ IF(UNIT_TESTING)
   ADD_UNIT_TEST_SAN(ubusd_main ubusd-san)
 ENDIF()
 
+IF(ABIVERSION)
+       SET_TARGET_PROPERTIES(ubus PROPERTIES VERSION ${ABIVERSION})
+ENDIF()
+
 INSTALL(TARGETS ubus cli
        ARCHIVE DESTINATION lib
        LIBRARY DESTINATION lib