libs: proper version and soversion in vtk-m libs

This commit reflects the changes of VTK-m API/ABI release plans in
which we attempt ABI compatibility in patch releases.

- It also sets the version/soname for diy thirdparty module lib
This commit is contained in:
Vicente Adolfo Bolea Sanchez 2022-10-10 13:47:46 -04:00
parent 169e788e2d
commit 7ceec1ddac
2 changed files with 9 additions and 5 deletions

@ -499,8 +499,8 @@ function(vtkm_library)
if (NOT VTKm_SKIP_LIBRARY_VERSIONS)
# Setup the SOVERSION and VERSION information for this vtkm library
set_property(TARGET ${lib_name} PROPERTY VERSION 1)
set_property(TARGET ${lib_name} PROPERTY SOVERSION 1)
set_property(TARGET ${lib_name} PROPERTY VERSION ${VTKm_VERSION}.${VTKm_VERSION_PATCH})
set_property(TARGET ${lib_name} PROPERTY SOVERSION ${VTKm_VERSION})
endif ()
# Support custom library suffix names, for other projects wanting to inject

@ -58,7 +58,11 @@ set(VTKM_USE_EXTERNAL_DIY OFF)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Configure.h.in
${VTKm_BINARY_INCLUDE_DIR}/${kit_dir}/Configure.h)
function(vtkm_diy_set_target_output_directory target)
function(vtkm_diy_set_target_properties target)
if (NOT VTKm_SKIP_LIBRARY_VERSIONS)
set_property(TARGET ${target} PROPERTY VERSION ${VTKm_VERSION}.${VTKm_VERSION_PATCH})
set_property(TARGET ${target} PROPERTY SOVERSION ${VTKm_VERSION})
endif()
set_property(TARGET ${target} PROPERTY ARCHIVE_OUTPUT_DIRECTORY ${VTKm_LIBRARY_OUTPUT_PATH})
set_property(TARGET ${target} PROPERTY LIBRARY_OUTPUT_DIRECTORY ${VTKm_LIBRARY_OUTPUT_PATH})
set_property(TARGET ${target} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${VTKm_EXECUTABLE_OUTPUT_PATH})
@ -69,10 +73,10 @@ add_subdirectory(vtkmdiy)
# move diy libraries
if (TARGET vtkmdiympi)
vtkm_diy_set_target_output_directory(vtkmdiympi)
vtkm_diy_set_target_properties(vtkmdiympi)
endif()
if (TARGET vtkmdiympi_nompi)
vtkm_diy_set_target_output_directory(vtkmdiympi_nompi)
vtkm_diy_set_target_properties(vtkmdiympi_nompi)
endif()
include(VTKmDIYUtils)