src/CMakeLists.txt SOVERSION
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 2k
- Forks
- 691
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 1
Description
I don't think it's a good idea to set the SOVERSION to major.minor.patchlevel in https://github.com/commonmark/cmark/blob/a5c83d7a426bda38aac838f9815664f6189d3404/src/CMakeLists.txt#L87
The reason is that any project depending on e.g. the libcmark.so.0.28.3 will need to be rebuilt once you update to the next version, even if that is not necessary because there is no ABI change.
IMHO it should be sufficient to use just SOVERSION ${PROJECT_VERSION_MAJOR} because the shared library already carries the full version number of the project.
In the Void Linux template for cmark I currently sed the minor and patch level away
to avoid having to rebuild mkvtoolnix for every cmark update :)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in src/CMakeLists.txt at the SOVERSION setting linked in the issue, and read how the project version is used for the shared library. Change the ABI versioning to use only the major version while retaining the library's full project version, then configure the project and verify the generated shared-library names and links.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, cmake
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100