mirror of
https://github.com/neovim/neovim.git
synced 2025-10-14 13:56:05 +00:00

When building in a git repo: - If HEAD corresponds to an annotated tag, (i.e. git_get_exact_tag() returns truthy) the current build is considered a "release" build: NVIM_VERSION_MEDIUM is directly assigned the tagged version name, and NVIM_VERSION_* defines are ignored. - If HEAD is not a tagged release, then NVIM_VERSION_MEDIUM is directly assigned the result of `git describe`. If git (or the repo) is not available: - The NVIM_VERSION_* defines are used to define NVIM_VERSION_MEDIUM. Sample outputs for `nvim --version` and `nvim +version`: Building with git @ non-tagged commit e66df14: NVIM v0.1.0-1-ge66df14 (compiled Nov 1 2015 19:10:30) Commit: e66df148f9401be17adab324a6e41d927aae20b3 Building with git @ v0.1.1 tag: NVIM v0.1.1 (compiled Nov 1 2015 19:03:52) [no "Commit:" line] Building this commit _not_ in a git repo: NVIM 0.1.0-dev (compiled Nov 1 2015 19:16:11) [no "Commit:" line]
15 lines
514 B
C
15 lines
514 B
C
#ifndef AUTO_VERSIONDEF_H
|
|
#define AUTO_VERSIONDEF_H
|
|
|
|
#define NVIM_VERSION_MAJOR @NVIM_VERSION_MAJOR@
|
|
#define NVIM_VERSION_MINOR @NVIM_VERSION_MINOR@
|
|
#define NVIM_VERSION_PATCH @NVIM_VERSION_PATCH@
|
|
#define NVIM_VERSION_PRERELEASE "@NVIM_VERSION_PRERELEASE@"
|
|
#cmakedefine NVIM_VERSION_COMMIT "@NVIM_VERSION_COMMIT@"
|
|
#cmakedefine NVIM_VERSION_MEDIUM "@NVIM_VERSION_MEDIUM@"
|
|
|
|
#define NVIM_VERSION_CFLAGS "@NVIM_VERSION_CFLAGS@"
|
|
#define NVIM_VERSION_BUILD_TYPE "@NVIM_VERSION_BUILD_TYPE@"
|
|
|
|
#endif // AUTO_VERSIONDEF_H
|