diff --git a/libexec/qt-internal-configure-tests.bat.in b/libexec/qt-internal-configure-tests.bat.in index 9dfae90ee7d..6b69910c669 100644 --- a/libexec/qt-internal-configure-tests.bat.in +++ b/libexec/qt-internal-configure-tests.bat.in @@ -3,12 +3,25 @@ setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS set script_dir_path=%~dp0 set script_dir_path=%script_dir_path:~0,-1% -rem add the drive letter to the source_dir_path, -rem by removing the path argument, expanding it, and adding it back -set source_dir_path=%~dpnx1 +rem Extracts the source path, make it native, and put it +rem back again. This is a workaround on Windows LLVM/MINGW +rem to help CMake find source files when doing Unity Build. set args=%* -set args=%args:* =% -set args=%source_dir_path% %args% +set source_dir_path= +set native_source_dir_path= +for %%i in (%args%) do ( + if "%%i"=="-S" ( + set found=true + ) else if defined found ( + set source_dir_path=%%i + set native_source_dir_path=%%~dpnxi + set found= + ) +) + +if NOT "%native_source_dir_path%" == "" ( + set args=!args:%source_dir_path%=%native_source_dir_path%! +) set cmake_scripts_dir=%script_dir_path%