From ff12c36a6fdee067a992ddfaab8c5e41e8509fe5 Mon Sep 17 00:00:00 2001 From: "Fiorentino, Stefano" Date: Thu, 5 Jan 2023 17:18:01 +0100 Subject: [PATCH] shared object versioning (mirroring the behaviour of autotools) Closes #268 Signed-off-by: Fiorentino, Stefano --- CMakeLists.txt | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d4ac08b7..556ec390 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,8 +187,23 @@ install( # Install targets # -install(EXPORT uvwConfig NAMESPACE uvw:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/uvw) -install(TARGETS uvw EXPORT uvwConfig ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) +set_target_properties( + uvw PROPERTIES + VERSION ${UVW_VERSION_MAJOR}.0.0 + SOVERSION ${UVW_VERSION_MAJOR} +) +install( + EXPORT uvwConfig + NAMESPACE uvw:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/uvw +) +install( + TARGETS uvw + EXPORT uvwConfig + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} +) if(FETCH_LIBUV AND BUILD_UVW_LIBS) # libuv is only fetched when both above conditions are true install(DIRECTORY ${libuv_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/uvw/uv/include)