Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What?
This PR adds automatic generation of file containing strings describing configure time info as seen below:
How?
This file is not tracked in git. Every time user configures project using CMake (cmake -B build -S . -D...) this file is generated and embeded into project include paths.
Befor project version was set in repository root CMakeLists.txt file using compile definitions. Now it is automatically derived from project() directive from that same repository root CMakeLists.txt file alongside other usefull informations.
Why?
This simplifies version tracking by using cmake feature that was designed to do that. Also I use this technique in some of my other projects and this enables me to use that in ImGui tooltip to display info how was this binary built. This might be usefull for users raporting issues - they might provide screensot that contains information about their software versions, system (on which binary was built) info and whether they built the software on their own branch or the main and whether there are any changes in the code.
Plan?
Plan is to add such GUI panel as seen below (not yet included in this PR - screenshot from other project):