Index: openshadinglanguage/CMakeLists.txt
===================================================================
--- openshadinglanguage.orig/CMakeLists.txt
+++ openshadinglanguage/CMakeLists.txt
@@ -17,6 +17,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")
+
 message (STATUS "CMake version is ${CMAKE_VERSION}")
 cmake_minimum_required (VERSION 3.0)
 cmake_policy (SET CMP0017 NEW)
Index: openshadinglanguage/src/liboslcomp/CMakeLists.txt
===================================================================
--- openshadinglanguage.orig/src/liboslcomp/CMakeLists.txt
+++ openshadinglanguage/src/liboslcomp/CMakeLists.txt
@@ -25,5 +25,13 @@ TARGET_LINK_LIBRARIES ( oslcomp ${OPENIM
                        ${CLANG_LIBRARIES} ${LLVM_LIBRARIES} ${LLVM_LDFLAGS}
                        ${LLVM_SYSTEM_LIBRARIES})
 
+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 )
 
Index: openshadinglanguage/src/liboslexec/CMakeLists.txt
===================================================================
--- openshadinglanguage.orig/src/liboslexec/CMakeLists.txt
+++ openshadinglanguage/src/liboslexec/CMakeLists.txt
@@ -157,6 +157,14 @@ TARGET_LINK_LIBRARIES ( oslexec
                         ${LLVM_SYSTEM_LIBRARIES})
 ADD_DEPENDENCIES (oslexec "${CMAKE_SOURCE_DIR}/src/build-scripts/hidesymbols.map")
 
+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
Index: openshadinglanguage/src/liboslnoise/CMakeLists.txt
===================================================================
--- openshadinglanguage.orig/src/liboslnoise/CMakeLists.txt
+++ openshadinglanguage/src/liboslnoise/CMakeLists.txt
@@ -11,6 +11,14 @@ endif ()
 
 TARGET_LINK_LIBRARIES ( oslnoise ${OPENIMAGEIO_LIBRARY} ${ILMBASE_LIBRARIES} ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} )
 
+if (NOT BUILDSTATIC)
+    MESSAGE (STATUS "Setting SOVERSION to: ${SOVERSION}")
+    SET_TARGET_PROPERTIES ( oslnoise
+                            PROPERTIES
+                            VERSION ${OSL_LIBRARY_VERSION_MAJOR}.${OSL_LIBRARY_VERSION_MINOR}.${OSL_LIBRARY_VERSION_PATCH}
+                            SOVERSION ${SOVERSION})
+endif ()
+
 INSTALL ( TARGETS oslnoise RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
 
 
Index: openshadinglanguage/src/liboslquery/CMakeLists.txt
===================================================================
--- openshadinglanguage.orig/src/liboslquery/CMakeLists.txt
+++ openshadinglanguage/src/liboslquery/CMakeLists.txt
@@ -14,4 +14,12 @@ endif ()
 
 TARGET_LINK_LIBRARIES ( oslquery ${OPENIMAGEIO_LIBRARY} ${ILMBASE_LIBRARIES} ${Boost_LIBRARIES} )
 
+if (NOT BUILDSTATIC)
+    MESSAGE (STATUS "Setting SOVERSION to: ${SOVERSION}")
+    SET_TARGET_PROPERTIES ( oslquery
+                            PROPERTIES
+                            VERSION ${OSL_LIBRARY_VERSION_MAJOR}.${OSL_LIBRARY_VERSION_MINOR}.${OSL_LIBRARY_VERSION_PATCH}
+                            SOVERSION ${SOVERSION})
+endif ()
+
 INSTALL ( TARGETS oslquery RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib )
