diff --git a/scripts/cmake/BuildExternalProject.cmake b/scripts/cmake/BuildExternalProject.cmake
index 40ac7a16a61ca2e448cd4259857f122456d560c8..47e0b677b72d4456e57c61808987f1c55a14c06f 100644
--- a/scripts/cmake/BuildExternalProject.cmake
+++ b/scripts/cmake/BuildExternalProject.cmake
@@ -34,7 +34,7 @@ function(BuildExternalProject target)
             IS_PREFIX PROJECT_BINARY_DIR "${CPM_SOURCE_CACHE}" _is_inside_build
         )
         if(NOT _is_inside_build)
-            string(SHA256 _hash "${ARGN_STRING}")
+            string(SHA256 _hash "${CMAKE_GENERATOR};${ARGN_STRING}")
             set(build_dir "${CPM_SOURCE_CACHE}/_ext/${target}/${_hash}")
         endif()
     endif()