Browse Source

Merge topic 'version-standalone' into release-4.0

de7648117a CMakeVersion: Make script independently loadable

Acked-by: Kitware Robot <[email protected]>
Merge-request: !10356
Brad King 8 months ago
parent
commit
47faea8e15
1 changed files with 3 additions and 2 deletions
  1. 3 2
      Source/CMakeVersion.cmake

+ 3 - 2
Source/CMakeVersion.cmake

@@ -24,14 +24,15 @@ if(NOT CMake_VERSION_NO_GIT)
   set(git_info [==[$Format:%h %s$]==])
 
   # Otherwise, try to identify the current development source version.
+  get_filename_component(git_toplevel "${CMAKE_CURRENT_LIST_DIR}" PATH)
   if(NOT git_info MATCHES "^([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]?[0-9a-f]?)[0-9a-f]* "
-      AND EXISTS ${CMake_SOURCE_DIR}/.git)
+      AND EXISTS "${git_toplevel}/.git")
     find_package(Git QUIET)
     if(GIT_FOUND)
       macro(_git)
         execute_process(
           COMMAND ${GIT_EXECUTABLE} ${ARGN}
-          WORKING_DIRECTORY ${CMake_SOURCE_DIR}
+          WORKING_DIRECTORY "${git_toplevel}"
           RESULT_VARIABLE _git_res
           OUTPUT_VARIABLE _git_out OUTPUT_STRIP_TRAILING_WHITESPACE
           ERROR_VARIABLE _git_err ERROR_STRIP_TRAILING_WHITESPACE