2022-07-05 11:26:52 +00:00
|
|
|
# Copyright (C) 2022 The Qt Company Ltd.
|
2022-08-19 13:21:34 +00:00
|
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
2022-07-05 11:26:52 +00:00
|
|
|
|
2021-12-29 17:00:52 +00:00
|
|
|
# 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()
|
2022-03-18 13:29:03 +00:00
|
|
|
|
|
|
|
# The function checks if add_custom_command has the support of the DEPFILE argument.
|
|
|
|
function(_qt_internal_check_depfile_support out_var)
|
|
|
|
if(CMAKE_GENERATOR MATCHES "Ninja" OR
|
|
|
|
CMAKE_VERSION VERSION_GREATER_EQUAL 3.20 AND CMAKE_GENERATOR MATCHES "Makefiles"
|
|
|
|
OR CMAKE_VERSION VERSION_GREATER_EQUAL 3.21
|
|
|
|
AND (CMAKE_GENERATOR MATCHES "Xcode"
|
|
|
|
OR CMAKE_GENERATOR MATCHES "Visual Studio ([0-9]+)" AND CMAKE_MATCH_1 GREATER_EQUAL 12))
|
|
|
|
set(${out_var} TRUE)
|
|
|
|
else()
|
|
|
|
set(${out_var} FALSE)
|
|
|
|
endif()
|
|
|
|
set(${out_var} "${${out_var}}" PARENT_SCOPE)
|
|
|
|
endfunction()
|