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

Reply via email to