From 0437adc33a8b83847ed36666971b5ea4d88a4901 Mon Sep 17 00:00:00 2001 From: Nathan Cutler Date: Thu, 2 Apr 2020 12:02:37 +0200 Subject: [PATCH] cmake: really stop at top of source code tree Previously, we were recursing right up to / Patch submitted by Tony Davies via https://tracker.ceph.com Fixes: https://tracker.ceph.com/issues/43895 Signed-off-by: Tony Davies --- cmake/modules/GetGitRevisionDescription.cmake | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmake/modules/GetGitRevisionDescription.cmake b/cmake/modules/GetGitRevisionDescription.cmake index 40a42015a7d..34106b64dbb 100644 --- a/cmake/modules/GetGitRevisionDescription.cmake +++ b/cmake/modules/GetGitRevisionDescription.cmake @@ -42,11 +42,12 @@ get_filename_component(_gitdescmoddir ${CMAKE_CURRENT_LIST_FILE} PATH) function(get_git_head_revision _refspecvar _hashvar) set(GIT_PARENT_DIR "${CMAKE_CURRENT_SOURCE_DIR}") set(GIT_DIR "${GIT_PARENT_DIR}/.git") + set(TOP_LEVEL_DIR "${CMAKE_SOURCE_DIR}") while(NOT EXISTS "${GIT_DIR}") # .git dir not found, search parent directories set(GIT_PREVIOUS_PARENT "${GIT_PARENT_DIR}") get_filename_component(GIT_PARENT_DIR ${GIT_PARENT_DIR} PATH) - if(GIT_PARENT_DIR STREQUAL GIT_PREVIOUS_PARENT) - # We have reached the root directory, we are not in git + if(GIT_PARENT_DIR STREQUAL TOP_LEVEL_DIR) + # We have reached the top of the source tree, we are not in git set(${_refspecvar} "GITDIR-NOTFOUND" PARENT_SCOPE) set(${_hashvar} "GITDIR-NOTFOUND" PARENT_SCOPE) return()