Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,31 @@ else()
endif()
endif()

# Set the SO version. The SO version must be incremented every time a change
# occurs to the ABI that causes a backward incompatibility. Such changes
# include, exhaustively:
#
# * a change to struct or class layout
# * enum changes that would cause a renumbering of previously published enums
# * a removal of a struct, class, enumeration, or function
# * a change in parameters to a free standing function
# * a removal of a global variable
#
# OTIO currently designates the minor version number for breaking changes,
# e.g. v0.15, v0.16.0, v0.17.0, accordingly the SO version will be incremented
# to match. SO version must be monotically increasing, so the ABI version
# should be computed as: major * 100 + revision. The third digit will never
# implicate an ABI version change. So for example, the following OTIO versions
# would map to these ABI versions:
#
# * v0.18.0 - 18
# * v0.19.0 - 19
# * v0.19.1 - 19 # No ABI changes with minor version changes
# * v1.0.0 - 100
# * v1.1.0 - 101
#
math(EXPR OTIO_SOVERSION "${OTIO_VERSION_MAJOR} * 100 + ${OTIO_VERSION_MINOR}")

set(OTIO_RESOLVED_CXX_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}")

if(OTIO_CXX_INSTALL)
Expand Down
6 changes: 6 additions & 0 deletions src/opentime/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ set_target_properties(opentime PROPERTIES
POSITION_INDEPENDENT_CODE TRUE
WINDOWS_EXPORT_ALL_SYMBOLS true)

if(BUILD_SHARED_LIBS)
set_target_properties(opentime PROPERTIES
SOVERSION ${OTIO_SOVERSION}
VERSION ${OTIO_VERSION})
endif()

if(APPLE)
set_target_properties(opentime PROPERTIES
INSTALL_NAME_DIR "@loader_path"
Expand Down
6 changes: 6 additions & 0 deletions src/opentimelineio/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ set_target_properties(opentimelineio PROPERTIES
POSITION_INDEPENDENT_CODE TRUE
WINDOWS_EXPORT_ALL_SYMBOLS true)

if(BUILD_SHARED_LIBS)
set_target_properties(opentimelineio PROPERTIES
SOVERSION ${OTIO_SOVERSION}
VERSION ${OTIO_VERSION})
endif()

if(APPLE)
set_target_properties(opentimelineio PROPERTIES
INSTALL_NAME_DIR "@loader_path"
Expand Down
Loading