-
-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[cpp] CMake ABI/SONAME versioning does not appear to work as expected #375
Comments
musicinmybrain
added a commit
to musicinmybrain/gherkin
that referenced
this issue
Feb 25, 2025
Similar to what cucumber#328 added to the C library, actually use the `VERSION` file to set the project version for the C++ library, and use the resulting project version to set the shared library version and ABi version (CMake `SOVERSION`). Fixes cucumber#375.
3 tasks
We also have this in the C library: Lines 91 to 96 in 275322f
and this in the C++ library: gherkin/cpp/src/lib/gherkin/CMakeLists.txt Lines 34 to 42 in 275322f
so it looks like those hard-coded version numbers need adjusting as well. This seems to make things work as I expected them to: #376 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
👓 What did you see?
Based on #320 (comment) and #328, I expected the
SONAME
version for both C and C++ shared libraries to be32
for https://github.com/cucumber/gherkin/releases/tag/v32.0.0, usinggherkin/c/VERSION
Line 1 in 275322f
and
gherkin/cpp/VERSION
Line 1 in 275322f
Indeed, this was the case for the C++ library,
but not for the C++ library,
✅ What did you expect to see?
I expected to see the C++ shared library versioned based on
cpp/VERSION
, just as the C shared library is now versioned based onc/VERSION
, which would have resulted in:📦 Which tool/library version are you using?
cucumber/gherkin 32.0.0; no other versions should be relevant
🔬 How could we reproduce it?
Build
cpp/
with CMake in the usual way, setting-DBUILD_SHARED_LIBS:BOOL=ON
. Observe that this produces:when the contents of
VERSION
are📚 Any additional context?
It looks like
cpp/CMakeLists.txt
needs the same boilerplate asc/CMakeLists.txt
:gherkin/c/CMakeLists.txt
Lines 1 to 18 in 275322f
The text was updated successfully, but these errors were encountered: