diff --git a/cmake/PreBuildSteps.cmake b/cmake/PreBuildSteps.cmake
index 5c5f324..a4782ab 100644
--- a/cmake/PreBuildSteps.cmake
+++ b/cmake/PreBuildSteps.cmake
@@ -10,7 +10,10 @@ find_package(Git QUIET)
 
 # --- Submodule initialization and verification ---
 # Matches the logic in setup.py::check_submodules().
-if(NOT DEFINED USE_SYSTEM_LIBS OR NOT USE_SYSTEM_LIBS)
+# Gentoo: skip entirely for tarball builds (no .git). Deps come from system
+# packages / prestaged sources and the third_party submodules are left
+# intentionally empty, so the completeness FATAL_ERROR below is spurious.
+if((NOT DEFINED USE_SYSTEM_LIBS OR NOT USE_SYSTEM_LIBS) AND EXISTS "${PROJECT_SOURCE_DIR}/.git")
   # Read submodule paths from .gitmodules if available, otherwise use defaults.
   set(_gitmodules_file "${PROJECT_SOURCE_DIR}/.gitmodules")
   if(EXISTS "${_gitmodules_file}")
