aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/Qt6QmlMacros.cmake
diff options
context:
space:
mode:
authorLeander Beernaert <leander.beernaert@qt.io>2020-04-08 16:14:48 +0200
committerLeander Beernaert <leander.beernaert@qt.io>2020-04-08 16:57:45 +0200
commitcd4a99a7ba92968bf88da9af2624bb738d71e726 (patch)
tree23da6b48c6968c59f7da8704023528cb815b9184 /src/qml/Qt6QmlMacros.cmake
parentf296c300614cbe2c9de66fe05ea7201d79249062 (diff)
CMake: Fix QML_MODULE_INSTALL_DIR directory for non-prefix builds
Change-Id: Iba763eb1bb5da2b5ec263108c9841ecd9063fbea Reviewed-by: Ulf Hermann <ulf.hermann@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src/qml/Qt6QmlMacros.cmake')
-rw-r--r--src/qml/Qt6QmlMacros.cmake10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/qml/Qt6QmlMacros.cmake b/src/qml/Qt6QmlMacros.cmake
index 1c79c58045..9a7fdb6fda 100644
--- a/src/qml/Qt6QmlMacros.cmake
+++ b/src/qml/Qt6QmlMacros.cmake
@@ -159,6 +159,10 @@ function(qt6_add_qml_module target)
if (NOT arg_INSTALL_LOCATION)
set(arg_INSTALL_LOCATION "${INSTALL_QMLDIR}/${arg_TARGET_PATH}")
endif()
+ if (DEFINED QT_WILL_INSTALL AND NOT QT_WILL_INSTALL
+ AND NOT IS_ABSOLUTE "${arg_INSTALL_LOCATION}")
+ set(arg_INSTALL_LOCATION "${QT_BUILD_DIR}/${arg_INSTALL_LOCATION}")
+ endif()
set_target_properties(${target}
PROPERTIES
@@ -585,6 +589,12 @@ function(qt6_qml_type_registration target)
if(NOT arg_COPY_OVER_INSTALL)
install(FILES ${plugin_types_file} DESTINATION ${qml_install_dir})
else()
+ # For regular modules that have not been declared using
+ # qt_add_qml_module (e.g: src/quick)
+ if (DEFINED QT_WILL_INSTALL AND NOT QT_WILL_INSTALL
+ AND NOT IS_ABSOLUTE "${qml_install_dir}")
+ set(qml_install_dir "${QT_BUILD_DIR}/${qml_install_dir}")
+ endif()
add_custom_command(TARGET ${target} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
"${plugin_types_file}"