Comments (10)
Would like to see this supported as well. Preferably it would also automatically re-run CMake if the repo changes from dirty to clean state and vice versa.
from cmake-modules.
Or is it because cmake is re-run only after a commit is done and that makes --dirty basically useless?
from cmake-modules.
Well, the script is set up to trigger a CMake re-run if a commit is done. Not sure about --dirty, haven't used it myself, though it does seem useful: is that a feature of only newer git versions? I could see changing the logic so that if we are just looking at head, we omit the commit and pass --dirty.
from cmake-modules.
No it's not new, I remember using git describe --tags --dirty
for years.
from cmake-modules.
Hi, seems that this issue is still present. Maybe some more information here about this modification: https://stackoverflow.com/questions/16035240/why-is-git-describe-dirty-adding-a-dirty-suffix-when-describing-a-clean-ch
I'll try to fix this.
from cmake-modules.
The issue is still happening. If I prepare a patch just removing the hash from the call to git_describe would you merge it? I don't see a use-case for calling git-describe with anothe parameter than HEAD.
from cmake-modules.
Something like this works for my use-case:
0001-cmake-fix-git_describe-not-working-with-dirty.txt
Edit: this does NOT work. Removing the hash from the list of parameters has the side-effect that cmake does not re-generate the version string when the git commit changes.
from cmake-modules.
I also recommend removing "ERROR_QUIET". Failing the build with the git error visible in the logs is better than silently printing "128-NOTFOUND" as a version string in my opinion.
from cmake-modules.
agreed on ERROR_QUIET
from cmake-modules.
There is now a git_describe_working_tree that does a git describe --dirty
without the fancy commit-ish magic of the normal function. I think this should solve things.
from cmake-modules.
Related Issues (20)
- git_get_exact_tag and new tags HOT 2
- find_package(Markdown) finding some file on Windows but not able to execute it HOT 3
- cppcheck target source language check should accept C as well CXX
- git revision description only trigger rebuild of one file HOT 1
- get_git_head_revision doesn't work from submodule HOT 1
- FindNSS and FindNSPR? HOT 2
- GetGitRevisionDescription: git_local_changes() returns false positive when repo. source file touched HOT 1
- Conan module HOT 1
- Document how to use GetGitRevisionDescription "offline" HOT 3
- Option to prevent get_git_head_revision from traversing parent directories HOT 10
- Question on get git revision description HOT 2
- FindOpenSceneGraph.cmake fails to get the version from OpenSceneGraph 3.6 HOT 1
- wishlist: get git revision of other folders HOT 1
- Wishlist: Document CMakeLists into Doxygen page
- get_git_head_revision() fails due to unfound git
- `get_git_head_revision` forces full project recompile on every different commit HOT 9
- Support to find SDL2 installed by vcpkg on Windows HOT 1
- update-modules.sh should use same path for file check and copy
- `get_git_head_revision` does not work on submodule HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmake-modules.