From c891c337cbf307190aaf03f884d1a4b6fbd772ef Mon Sep 17 00:00:00 2001 From: Tim Angus Date: Sat, 18 Oct 2025 13:01:20 +0100 Subject: [PATCH] Handle case where ioq3 is present as a git submodule --- cmake/utils/add_git_dependency.cmake | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cmake/utils/add_git_dependency.cmake b/cmake/utils/add_git_dependency.cmake index 30cec055..e942a0e3 100644 --- a/cmake/utils/add_git_dependency.cmake +++ b/cmake/utils/add_git_dependency.cmake @@ -6,6 +6,17 @@ function(add_git_dependency SOURCE_FILE) return() endif() + # If we're a submodule, .git won't be a directory + if(NOT IS_DIRECTORY ${GIT_DIR}) + file(READ ${GIT_DIR} GIT_FILE_CONTENT) + string(REGEX MATCH "gitdir: (.+)" MATCHED_PATH ${GIT_FILE_CONTENT}) + if(NOT MATCHED_PATH) + return() + endif() + + string(STRIP ${CMAKE_MATCH_1} GIT_DIR) + endif() + set(GIT_FILES) list(APPEND GIT_FILES ${GIT_DIR}/HEAD) list(APPEND GIT_FILES ${GIT_DIR}/packed-refs)