commit a3f01d32cba903b58e3ab5a353b4dba8c5431f9c
parent c95a0c99592e5bd17c630ea31618026ae6b5ea34
Author: Jan Palus <jpalus@fastmail.com>
Date: Fri, 2 Dec 2022 13:45:37 +0100
build: restrict `git describe` to top level source directory (#20993)
fix version determination when building neovim from release tarball
extracted within another git repository
Diffstat:
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/cmake/GenerateVersion.cmake b/cmake/GenerateVersion.cmake
@@ -2,7 +2,7 @@ set(NVIM_VERSION
"v${NVIM_VERSION_MAJOR}.${NVIM_VERSION_MINOR}.${NVIM_VERSION_PATCH}${NVIM_VERSION_PRERELEASE}")
execute_process(
- COMMAND git describe --first-parent --dirty --always
+ COMMAND git --git-dir=${NVIM_SOURCE_DIR}/.git --work-tree=${NVIM_SOURCE_DIR} describe --first-parent --dirty --always
OUTPUT_VARIABLE GIT_TAG
OUTPUT_STRIP_TRAILING_WHITESPACE
RESULT_VARIABLE RES)
diff --git a/src/nvim/CMakeLists.txt b/src/nvim/CMakeLists.txt
@@ -206,6 +206,7 @@ add_custom_target(update_version_stamp
-DNVIM_VERSION_PATCH=${NVIM_VERSION_PATCH}
-DNVIM_VERSION_PRERELEASE=${NVIM_VERSION_PRERELEASE}
-DOUTPUT=${NVIM_VERSION_GIT_H}
+ -DNVIM_SOURCE_DIR=${CMAKE_SOURCE_DIR}
-P ${PROJECT_SOURCE_DIR}/cmake/GenerateVersion.cmake
BYPRODUCTS ${NVIM_VERSION_GIT_H})