shared object versioning (mirroring the behaviour of autotools)

Closes #268

Signed-off-by: Fiorentino, Stefano <stefano.fiorentino@adesso.ch>
This commit is contained in:
Fiorentino, Stefano 2023-01-05 17:18:01 +01:00 committed by Stefano Fiorentino
parent 897e83f66a
commit ff12c36a6f

View File

@ -187,8 +187,23 @@ install(
# Install targets # Install targets
# #
install(EXPORT uvwConfig NAMESPACE uvw:: DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/uvw) set_target_properties(
install(TARGETS uvw EXPORT uvwConfig ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) 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) if(FETCH_LIBUV AND BUILD_UVW_LIBS)
# libuv is only fetched when both above conditions are true # libuv is only fetched when both above conditions are true
install(DIRECTORY ${libuv_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/uvw/uv/include) install(DIRECTORY ${libuv_SOURCE_DIR}/include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/uvw/uv/include)