2201934efa
Use custom script to copy big Android artifacts on Windows platforms. The script uses 'copy' but not 'copy_if_different' when source file size is bigger than 2GB. 'cmake -E copy_if_different' only compares first 2GB of files because of cmake issue, so this step only workaround the problem. Pick-to: 6.2 6.3 Task-number: QTBUG-99491 Change-Id: Id076734700e334dfc3330da412462c2b53829b33 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
21 lines
808 B
CMake
21 lines
808 B
CMake
# copy_if_different works incorrect in Windows if file size if bigger than 2GB.
|
|
# See https://gitlab.kitware.com/cmake/cmake/-/issues/23052 and QTBUG-99491 for details.
|
|
function(_qt_internal_copy_file_if_different_command out_var src_file dst_file)
|
|
# The CMake version higher than 3.23 doesn't contain the issue
|
|
if(CMAKE_HOST_WIN32 AND CMAKE_VERSION VERSION_LESS 3.23)
|
|
set(${out_var} "${CMAKE_COMMAND}"
|
|
"-DSRC_FILE_PATH=${src_file}"
|
|
"-DDST_FILE_PATH=${dst_file}"
|
|
-P "${_qt_6_config_cmake_dir}/QtCopyFileIfDifferent.cmake"
|
|
PARENT_SCOPE
|
|
)
|
|
else()
|
|
set(${out_var} "${CMAKE_COMMAND}"
|
|
-E copy_if_different
|
|
"${src_file}"
|
|
"${dst_file}"
|
|
PARENT_SCOPE
|
|
)
|
|
endif()
|
|
endfunction()
|