-
Notifications
You must be signed in to change notification settings - Fork 1
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
add commit distance #19
Conversation
It's thw minimum version in current LTS releases. Unless we get some request for backwards compatibility, I prefer to move it forward. I actually want to get to 3.24 as fast as possible because of
Goos catch. Can you add the set policy in the module? Technically we can use
Should be fine aince the whole describe is written there. I should update the tests soon to have better coverage. I have a few more projects to wrap up and I'll look into it |
Ok, I'll probably keep using 3.19 for Libint since it wants to stay on the non-demanding side. I agree though that the integration of find_package/FC is very nice. I got to use it on a fresh project recently, https://github.com/Einsums/Einsums/blob/main/external/rangev3/CMakeLists.txt
will do. looks like cmake_language(DEFER will provide a 3.19 check on the side. That'll be good b/c iirc, DynVer with <3.19 does nothing, which is confusing for new integration. :-)
sounds good. And if there's trouble I might find it in Libint since it goes through the whole embed, export, detect cycle. Reminds me that I need to switch to the functioncall, not just the include. |
I am updating the tests in #21, can you rebase after that? If you need help with the tests let me know. |
The policy push-and-defer probably isn't going to work because of https://gitlab.kitware.com/cmake/cmake/-/issues/25071 . I tried instead a block/endblock, and it didn't like that either (I could have done it wrong). Only thing that worked was the below that does change the enclosing project. Maybe you have a better strategy.
|
Interesting, thanks for investigating. For |
One more rebase, this should fix the issues in the tests (forks generally do not have git tags). Other than that it's just the other 2 unresolved discussions. (btw, I have tabs in the documentation, that's why it is not aligned) After this I want to make another few variable outputs:
|
Drat, still the testing farm is failing. I'm not seeing a clear error message. I was hoping to get clean testing on the rebase before making further changes (incl. tabs to spaces).
That'd be great. I always prefer |
Yeah, I need to switch the logic and improve the error message, basically it fails to run
Check both the github runner and in testing-farm you can tick near the top to see the other tests that ran and passed. Check
Originally I wanted to support both, but couldn't find the documentation for how to configure
Interesting, can you elaborate. I thought it was just the git describe info directly.
Thanks, I'll look it over a bit.
I think I can patch upstream with the equivalent built-in support after we iron out potential issues here. A nasty one I've encountered is that the python sdist does not run |
I was referring to |
Wow I didn't know about that. At least with yet untagged HEAD, setuptools_scm seems to put the git distance from last tag. Maybe they use a +- convention to distinguish that from the other case. I think |
Huh, hopefully that's an edge case; otherwise it looks like they're flouting their own advice. Requiring projects that use your DynVer to have at least one qualifying tag seems reasonable to me, as it's something the consuming developers can do. If the scm conventions aren't explicit somewhere, I wonder if it'd be better to stick with |
I've opened the issue to investigate the version generation. Let's discuss it more after this when it's time to implement that :) |
If you're ok with the failing testing-farm, this is good to merge from my view. I decided not to do the tab->space here because it contaminates the diff and might conflict with the other PR. I do think it'd be good to do sometime, at least on the code (rather than docs) lines. Any other requested changes I overlooked (or to add)? |
Yeah, that's fine with me
Yeah, I should have edited all of them, I'll do it after this one. But, as long as it's a single commit it's fine anywhere. Also don't worry about merge conflicts, my IDE can easily handle these.
Do you want to try your hand at writing/editing the tests? Otherwise, I will handle it in a next PR. |
Here's the "distance" return I'm using in libint now applied to your reworked DynamicVersion file. It basically works, but I haven't tested it much.
return
in DynVer doesn't actually return anything and nothing gets set forproject(... VERSION ${DynVerRtn})
. One can't use policy push/pop in DynVer itself b/c it exits with return().string(JSON
?