--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,6 +10,9 @@ set (OSL_LIBRARY_VERSION_RELEASE_TYPE ""
 set (OSO_FILE_VERSION_MAJOR 1)
 set (OSO_FILE_VERSION_MINOR 0)
 
+set (SOVERSION ${OSL_LIBRARY_VERSION_MAJOR}.${OSL_LIBRARY_VERSION_MINOR}
+     CACHE STRING "Set the SO version in the SO name of the output library")
+
 cmake_minimum_required (VERSION 2.6)
 if (NOT CMAKE_VERSION VERSION_LESS 2.8.4)
     cmake_policy (SET CMP0017 NEW)
--- a/src/liboslcomp/CMakeLists.txt
+++ b/src/liboslcomp/CMakeLists.txt
@@ -23,5 +23,13 @@ endif ()
 TARGET_LINK_LIBRARIES ( oslcomp ${OPENIMAGEIO_LIBRARY} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS})
 LINK_ILMBASE ( oslcomp )
 
+if (NOT BUILDSTATIC)
+    MESSAGE (STATUS "Setting SOVERSION to: ${SOVERSION}")
+    SET_TARGET_PROPERTIES ( oslcomp
+                            PROPERTIES
+                            VERSION ${OSL_LIBRARY_VERSION_MAJOR}.${OSL_LIBRARY_VERSION_MINOR}.${OSL_LIBRARY_VERSION_PATCH}
+                            SOVERSION ${SOVERSION})
+endif ()
+
 INSTALL ( TARGETS oslcomp RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
 
--- a/src/liboslexec/CMakeLists.txt
+++ b/src/liboslexec/CMakeLists.txt
@@ -148,6 +148,14 @@ TARGET_LINK_LIBRARIES ( oslexec
 ADD_DEPENDENCIES (oslexec "${CMAKE_CURRENT_SOURCE_DIR}/liboslexec.map")
 LINK_ILMBASE ( oslexec )
 
+if (NOT BUILDSTATIC)
+    MESSAGE (STATUS "Setting SOVERSION to: ${SOVERSION}")
+    SET_TARGET_PROPERTIES ( oslexec
+                            PROPERTIES
+                            VERSION ${OSL_LIBRARY_VERSION_MAJOR}.${OSL_LIBRARY_VERSION_MINOR}.${OSL_LIBRARY_VERSION_PATCH}
+                            SOVERSION ${SOVERSION})
+endif ()
+
 INSTALL ( TARGETS oslexec RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
 
 # Unit tests
