diff --git a/rd-submodules/citra/rd-submodules/citra/unified-source-compat.patch b/rd-submodules/citra/rd-submodules/citra/unified-source-compat.patch new file mode 100644 index 00000000..6a1ca47c --- /dev/null +++ b/rd-submodules/citra/rd-submodules/citra/unified-source-compat.patch @@ -0,0 +1,56 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 710f3fcfb..e5f4f4687 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,7 +94,11 @@ function(check_submodules_present) + endif() + endforeach() + endfunction() +-check_submodules_present() ++ ++if (EXISTS "${PROJECT_SOURCE_DIR}/.git/objects") ++ # only check submodules when source is obtained via Git ++ check_submodules_present() ++endif() + + configure_file(${PROJECT_SOURCE_DIR}/dist/compatibility_list/compatibility_list.qrc + ${PROJECT_BINARY_DIR}/dist/compatibility_list/compatibility_list.qrc +diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake +index a011c6cbf..87e9eef35 100644 +--- a/CMakeModules/GenerateSCMRev.cmake ++++ b/CMakeModules/GenerateSCMRev.cmake +@@ -6,15 +6,27 @@ endfunction() + + list(APPEND CMAKE_MODULE_PATH "${SRC_DIR}/externals/cmake-modules") + +-# Find the package here with the known path so that the GetGit commands can find it as well +-find_package(Git QUIET PATHS "${GIT_EXECUTABLE}") +- + # generate git/build information +-include(GetGitRevisionDescription) +-get_git_head_revision(GIT_REF_SPEC GIT_REV) +-git_describe(GIT_DESC --always --long --dirty) +-git_branch_name(GIT_BRANCH) + get_timestamp(BUILD_DATE) ++if (EXISTS "${SRC_DIR}/.git/objects") ++ # Find the package here with the known path so that the GetGit commands can find it as well ++ find_package(Git QUIET PATHS "${GIT_EXECUTABLE}") ++ # only use Git to check revision info when source is obtained via Git ++ include(GetGitRevisionDescription) ++ get_git_head_revision(GIT_REF_SPEC GIT_REV) ++ git_describe(GIT_DESC --always --long --dirty) ++ git_branch_name(GIT_BRANCH) ++elseif(EXISTS "${SRC_DIR}/GIT-COMMIT" AND EXISTS "${SRC_DIR}/GIT-TAG") ++ # unified source archive ++ file(READ "${SRC_DIR}/GIT-COMMIT" GIT_REV_RAW LIMIT 64) ++ string(STRIP "${GIT_REV_RAW}" GIT_REV) ++ string(SUBSTRING "${GIT_REV_RAW}" 0 9 GIT_DESC) ++ set(GIT_BRANCH "HEAD") ++else() ++ # self-packed archive? ++ set(GIT_DESC "UNKNOWN") ++ set(GIT_BRANCH "UNKNOWN") ++endif() + + # Generate cpp with Git revision from template + # Also if this is a CI build, add the build name (ie: Nightly, Canary) to the scm_rev file as well \ No newline at end of file