-
-
Notifications
You must be signed in to change notification settings - Fork 69
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # 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 |
# for free
to join this conversation on GitHub.
Already have an account?
# 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: