summaryrefslogtreecommitdiffstats
path: root/libexec/qt-internal-configure-tests.bat.in
diff options
context:
space:
mode:
Diffstat (limited to 'libexec/qt-internal-configure-tests.bat.in')
-rw-r--r--libexec/qt-internal-configure-tests.bat.in29
1 files changed, 27 insertions, 2 deletions
diff --git a/libexec/qt-internal-configure-tests.bat.in b/libexec/qt-internal-configure-tests.bat.in
index dd2b0cc9c4..6b69910c66 100644
--- a/libexec/qt-internal-configure-tests.bat.in
+++ b/libexec/qt-internal-configure-tests.bat.in
@@ -3,7 +3,32 @@ setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
set script_dir_path=%~dp0
set script_dir_path=%script_dir_path:~0,-1%
+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 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%
-call "%script_dir_path%"\"@relative_path_from_libexec_dir_to_bin_dir@"\qt-cmake.bat ^
- @script_passed_args@ %*
+set relative_bin_dir=@relative_path_from_libexec_dir_to_bin_dir@
+if NOT "%relative_bin_dir%" == "" (
+set relative_bin_dir="%relative_bin_dir%"\
+)
+
+call "%script_dir_path%"\%relative_bin_dir%"qt-cmake.bat" ^
+ @script_passed_args@ %args%