Cleanup versioning strategy#989
Conversation
Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release.
|
Failures are due to us overusing resources. I guess I'll wait? |
082e37f to
f300478
Compare
BillyDonahue
left a comment
There was a problem hiding this comment.
I wish we could write a little textfile off to the side containing nothing but the VERSION=x.y.z and maybe SOVERSION=n, and have all the builders pick that up in their own way.
Surely that's possible.
I do see this as an improvement in the meantime.
| ((JSONCPP_VERSION_MAJOR << 24) | (JSONCPP_VERSION_MINOR << 16) | \ | ||
| (JSONCPP_VERSION_PATCH << 8)) | ||
|
|
||
| #ifdef JSONCPP_USING_SECURE_MEMORY |
There was a problem hiding this comment.
What's this stuff about JSONCPP_USING_SECURE_MEMORY ?
It has nothing to do with version.
Actually JSONCPP_VERSION_HEXA and JSONCPP_VERSION_STRING are derivatives and should be elsewhere. I would like it if version.h were just the number tuple and that's about it.
| # 2. /include/json/version.h | ||
| # 3. /CMakeLists.txt | ||
| # IMPORTANT: also update the SOVERSION!! | ||
| VERSION 1.9.2 # <major>[.<minor>[.<patch>[.<tweak>]]] |
There was a problem hiding this comment.
CMake's file command can read a variable from a file.
file (STRINGS "version.txt" JSONCPP_VERSION)
file (STRINGS "soversion.txt" JSONCPP_SOVERSION)
I don't know how to do it in meson.
I guess a worst-case would be invoking cat.
r = run_command('cat','version.txt')
JSONCPP_VERSION=r.stdout()
r = run_command('cat','soversion.txt')
JSONCPP_SOVERSION=r.stdout()
I don't know meson. It feels like we should be able to do this though!
There was a problem hiding this comment.
I'll spend some time this week looking into that, I definitely agree with you.
* Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
* Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
* Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
…-source-parsers#997) * Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
* Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
…-source-parsers#997) * Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
* Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
…-source-parsers#997) * Cleanup versioning strategy Currently, versioning is a mess. CMake and Meson have seperate build version number storage locations, with no way of knowing you need to have both. Plus, due to recent revisions the amalgamate script is broken unless you build first, and may still be broken afterwards. This PR fixes some issues with versioning, and adds comments clarifying what has to be done when doing a release. * Run clang format * Update SOVERSION....
Currently, versioning is a mess. CMake and Meson have seperate build
version number storage locations, with no way of knowing you need to
have both. Plus, due to recent revisions the amalgamate script is broken
unless you build first, and may still be broken afterwards.
This PR fixes some issues with versioning, and adds comments clarifying
what has to be done when doing a release.
#988