qt5base-lts/cmake/QtCopyFileIfDifferent.cmake
Lucie Gérard 32df595275 Change the license of all CMakeLists.txt and *.cmake files to BSD
Task-number: QTBUG-105718
Change-Id: I5d3ef70a31235868b9be6cb479b7621bf2a8ba39
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
2022-08-23 23:58:42 +02:00

19 lines
644 B
CMake

# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# 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.
cmake_minimum_required(VERSION 3.16)
set(copy_strategy "copy_if_different")
if(CMAKE_HOST_WIN32)
file(SIZE "${SRC_FILE_PATH}" size)
# If file size is bigger than 2GB copy it unconditionally
if(size GREATER_EQUAL 2147483648)
set(copy_strategy "copy")
endif()
endif()
execute_process(COMMAND ${CMAKE_COMMAND} -E ${copy_strategy} "${SRC_FILE_PATH}" "${DST_FILE_PATH}")