On 12/15/2016 11:54 AM, Kim Walisch wrote: > I am currently in the process of switching the build system of my > primecount project from Autotools to CMake and the shared library > versioning in CMake is not yet clear to myself. My current project > version (API version) is 3.5 and the libtool version (ABI version) is > 4:7:0. So I have set the VERSION and SOVERSION to my libtool > version (in CMakeLists.txt): > > set_target_properties(libprimecount PROPERTIES SOVERSION 4) > set_target_properties(libprimecount PROPERTIES VERSION "4.7.0") > > Is this correct? Or should I set the VERSION to my current project > version (API version): > > set_target_properties(libprimecount PROPERTIES SOVERSION 4) > set_target_properties(libprimecount PROPERTIES VERSION "3.5")
The CMake properties give direct control over the way the files are constructed: libfoo.so -> libfoo.so.$soversion libfoo.so.$soversion -> libfoo.so.$version libfoo.so.$version (actual file) Libtool instead defines version components [1] "current", "revision", and "age", and somehow maps them to the version and soversion above. I don't recall the mapping off the top of my head, but if you want to reproduce what you were doing before you should do that mapping to select the values for the CMake SOVERSION and VERSION properties. -Brad [1] https://www.gnu.org/software/libtool/manual/html_node/Libtool-versioning.html -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers