blob: eb935c6c748773436bfc2f095718c98dfba856b6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: BSD-3-Clause
# Ensures that the provided uri matches the URI requirements. Write the result to the result
# variable.
function(_qt_internal_is_qml_uri_valid result uri)
if("${uri}" MATCHES "^[a-zA-Z].*")
set(${result} TRUE PARENT_SCOPE)
else()
set(${result} FALSE PARENT_SCOPE)
endif()
endfunction()
# Ensures that the provided uri matches the URI requirements. Errors out if the URI is malformed.
function(_qt_internal_require_qml_uri_valid uri)
_qt_internal_is_qml_uri_valid(ok "${uri}")
if(NOT ok)
message(FATAL_ERROR "URI must start with letter. Please specify a valid URI for ${target}.")
endif()
endfunction()
# Copies the file from src to dest.
# Creates missing directories at dest if they do not exist.
function(_qt_internal_qml_copy_file src dest)
# Create the dest directory, it might not exist.
get_filename_component(dest_out_dir "${dest}" DIRECTORY)
file(MAKE_DIRECTORY "${dest_out_dir}")
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.21")
# Significantly increases copying speed according to profiling, presumably
# because we bypass process creation.
file(COPY_FILE "${src}" "${dest}" ONLY_IF_DIFFERENT)
else()
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different "${src}" "${dest}")
endif()
endfunction()
|