vcs
Provides support for version control systems. More...
Since: | Qbs 1.10 |
Properties
- headerFileName : string
- repoDir : string
- repoState : string
- toolFilePath : string
- type : string
Detailed Description
The vcs
module provides the current state of the project's repository via the repoState property. By default, a C
header is also generated, allowing for simple retrieval of the repository state directly from within your C/C++ sources. This is useful to embed information into binaries about the exact state of the repository from which they were built.
For example:
#include <vcs-repo-state.h> #include <iostream> int main() { std::cout << "I was built from " << VCS_REPO_STATE << std::endl; }
Above, a header file called vcs-repo-state.h
is created, defining a macro called VCS_REPO_STATE
, which expands to a character constant describing the current state of the repository. For Git, this would be the current HEAD's commit hash.
Property Documentation
headerFileName : string |
The name of the C header file to be created.
Set this to undefined
if you do not want a header file to be generated.
Default: "vcs-repo-state.h"
repoDir : string |
The root directory of the repository.
Default: The top-level project directory (project.sourceDirectory).
repoState : string |
The current state of the repository.
For example, in Git this is the commit hash of the current HEAD.
Default: Undefined
toolFilePath : string |
Set this property if the tool has an unusual name in your local installation, or if it is located in a directory that is not in the build environment's PATH
.
Default: The file name of the version control tool corresponding to type.
type : string |
The version control system used in the project.
Currently, the supported values are "git"
and "svn"
.
Default: auto-detected