Add drive letter to source paths when calling qt-internal- scripts

Like qt-configure-module.bat, when building with unity build, CMake
needs to know the full path of the source directory to be able to
correctly generate its `*_cxx.cxx` files. So far, this seems to only
affect Windows' LLVM/MinGW builds. By this patch, I make sure that we
pass the full path to CMake.

Pick-to: 6.5
Task-number: QTBUG-109394
Change-Id: Ida2da127ecba95856b6e0091936c471c2a116936
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
Amir Masoud Abdol 2023-04-13 19:26:15 +02:00
parent 38d56e2b72
commit 389b3a131a
2 changed files with 11 additions and 1 deletions

View File

@ -18,6 +18,9 @@ else()
set(absolute_project_path "${QT_STANDALONE_TEST_PATH}")
endif()
# If path does not include the drive letter, we try to add it.
get_filename_component(absolute_project_path "." REALPATH BASE_DIR "${absolute_project_path}")
if(NOT IS_DIRECTORY "${absolute_project_path}")
get_filename_component(filename "${absolute_project_path}" NAME)
get_filename_component(directory "${absolute_project_path}" DIRECTORY)

View File

@ -3,6 +3,13 @@ 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
set args=%*
set args=%args:* =%
set args=%source_dir_path% %args%
set cmake_scripts_dir=%script_dir_path%
set relative_bin_dir=@relative_path_from_libexec_dir_to_bin_dir@
@ -11,4 +18,4 @@ set relative_bin_dir="%relative_bin_dir%"\
)
call "%script_dir_path%"\%relative_bin_dir%"qt-cmake.bat" ^
@script_passed_args@ %*
@script_passed_args@ %args%