(CMake) customisable version/soversion#4121
Conversation
I totally agree. See discussion here for why the current versions were chosen: I support merging this PR as it simply allows users to choose their own versioning scheme. Afterwards, I'd still like to have a discussion about setting up a proper versioning scheme for mainstream Caffe. |
Sounds reasonable. Let's revisit this after the NIPS deadline 05/20. Merging for its clear use case. |
[build] CMake customisable version/soversion
In the CMake configuration, the
libcaffe.sosoname, derived from theCAFFE_TARGET_SOVERSIONvariable here, contains the0-rc3patch/revision information.AFAIK this is against the general convention (described here and other places), and has caused me a few issues, e.g. with CMake (when creating the symlink-chain through
cmake build . --target install) and Bazel (when including Caffe as a pre-built external project) both of which prefer the more canonical soname form:lib{name}.so.{number}.This complicates the scenario when I want to maintain multiple versions of Caffe on the same machine, as shared libraries. Rather than changing the soname itself, I suggest the relevant variable is made customisable at the command line, which regardless I think is more generally useful.