Add a Ceres version and use it to name the DLL. Change-Id: Ia7adff8219af66d3c7fbb2e1e39da396323ba545
diff --git a/CMakeLists.txt b/CMakeLists.txt index 51284f1..c1f7b56 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt
@@ -36,6 +36,16 @@ PROJECT(CERES C CXX) +# Important: Always bump the second number (e.g. 1.3.x to 1.4.0) for any +# release that changes the ABI. The ABI changes for almost any modification to +# include/ceres (e.g. the public API). If you are unsure about whether +# something is an ABI change, please ask on the list. +# +# For versions without ABI changes, bump the smallest number in CERES_VERSION, +# but leave the CERES_ABI_VERSION unchanged. +SET(CERES_VERSION 1.3.0) +SET(CERES_ABI_VERSION 1.3.0) + ENABLE_TESTING() OPTION(BUILD_TESTING
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt index 8a3917b..f2fc827 100644 --- a/internal/ceres/CMakeLists.txt +++ b/internal/ceres/CMakeLists.txt
@@ -150,6 +150,9 @@ ADD_LIBRARY(ceres_shared SHARED ${CERES_LIBRARY_SOURCE}) TARGET_LINK_LIBRARIES(ceres_shared ${CERES_LIBRARY_DEPENDENCIES}) +SET_TARGET_PROPERTIES(ceres_shared PROPERTIES + VERSION ${CERES_VERSION} + SOVERSION ${CERES_ABI_VERSION}) IF (${BUILD_TESTING}) ADD_LIBRARY(gtest gmock_gtest_all.cc gmock_main.cc)