diff options
author | Craig Scott <craig.scott@qt.io> | 2021-07-19 21:40:14 +1000 |
---|---|---|
committer | Craig Scott <craig.scott@qt.io> | 2021-07-20 16:33:48 +1000 |
commit | 0c99c17761c89290d88e97367742122db5c9a46f (patch) | |
tree | df889b3369d61828407d66a60b275251eab00ae1 /examples | |
parent | 4e18e7d377c56d41c1d6f3cf9be37f1af94cd1b1 (diff) |
CMake: Change the default of OUTPUT_DIRECTORY for qt6_add_qml_module()
The new default is now controlled via a new QT_QML_OUTPUT_DIRECTORY
variable. If that isn't set, the fallback assumes the source directory
structure follows the URI structure and uses
${CMAKE_CURRENT_BINARY_DIR} instead. This pattern means more projects
will have working import paths for qmllint and possibly other tools
out of the box. There should also be fewer cases where the
OUTPUT_DIRECTORY option needs to be used in calls to
qt6_add_qml_module(). The QT_QML_OUTPUT_DIRECTORY variable facilitates
the scenario where QML modules might be distributed across different
parts of the source directory hierarchy, but once collected under a
common base point defined by QT_QML_OUTPUT_DIRECTORY, they form a
coherent set of QML modules whose subdirectory structure below that
base point follows their TARGET_PATH.
Fixes: QTBUG-94164
Fixes: QTBUG-95081
Pick-to: 6.2
Change-Id: I82864c361a2b34f7f1484cdbda0d9b64b34b9950
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'examples')
7 files changed, 6 insertions, 5 deletions
diff --git a/examples/qml/qmlextensionplugins/CMakeLists.txt b/examples/qml/qmlextensionplugins/CMakeLists.txt index dcfde4a8ae..6ea73f83a4 100644 --- a/examples/qml/qmlextensionplugins/CMakeLists.txt +++ b/examples/qml/qmlextensionplugins/CMakeLists.txt @@ -14,6 +14,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR) endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/qml/qmlextensionplugins/imports/TimeExample") +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples/qml/qmlextensionplugins/imports) find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) @@ -23,7 +24,6 @@ set_source_files_properties(imports/TimeExample/Clock.qml PROPERTIES QT_RESOURCE_ALIAS Clock.qml ) qt6_add_qml_module(qmlqtimeexample - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/imports/TimeExample" VERSION 1.0 URI "TimeExample" SOURCES timemodel.cpp timemodel.h diff --git a/examples/qml/tutorials/extending-qml/chapter6-plugins/CMakeLists.txt b/examples/qml/tutorials/extending-qml/chapter6-plugins/CMakeLists.txt index 1c19c84caa..59ecdeae6b 100644 --- a/examples/qml/tutorials/extending-qml/chapter6-plugins/CMakeLists.txt +++ b/examples/qml/tutorials/extending-qml/chapter6-plugins/CMakeLists.txt @@ -14,6 +14,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR) endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/qml/tutorials/extending-qml/chapter6-plugins") +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) diff --git a/examples/qml/tutorials/extending-qml/chapter6-plugins/import/CMakeLists.txt b/examples/qml/tutorials/extending-qml/chapter6-plugins/import/CMakeLists.txt index f75028aa69..93ec5c5169 100644 --- a/examples/qml/tutorials/extending-qml/chapter6-plugins/import/CMakeLists.txt +++ b/examples/qml/tutorials/extending-qml/chapter6-plugins/import/CMakeLists.txt @@ -21,7 +21,6 @@ find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) qt6_add_qml_module(chartsplugin - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/../Charts" VERSION 1.0 URI "Charts" PLUGIN_TARGET chartsplugin diff --git a/examples/qmltest/qmltest/CMakeLists.txt b/examples/qmltest/qmltest/CMakeLists.txt index c8a8361578..369e31fe7d 100644 --- a/examples/qmltest/qmltest/CMakeLists.txt +++ b/examples/qmltest/qmltest/CMakeLists.txt @@ -14,6 +14,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR) endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}") +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples) find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) diff --git a/examples/quick/customitems/painteditem/CMakeLists.txt b/examples/quick/customitems/painteditem/CMakeLists.txt index fa964778d0..09f3424f15 100644 --- a/examples/quick/customitems/painteditem/CMakeLists.txt +++ b/examples/quick/customitems/painteditem/CMakeLists.txt @@ -14,6 +14,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR) endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/customitems/painteditem/TextBalloonPlugin") +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples/quick/customitems/painteditem) find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) @@ -21,7 +22,6 @@ find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) qt6_add_qml_module(qmltextballoonplugin - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/TextBalloonPlugin" VERSION 1.0 URI "TextBalloonPlugin" PLUGIN_TARGET qmltextballoonplugin diff --git a/examples/quick/imageprovider/CMakeLists.txt b/examples/quick/imageprovider/CMakeLists.txt index 5a25a45deb..82e1bd2a51 100644 --- a/examples/quick/imageprovider/CMakeLists.txt +++ b/examples/quick/imageprovider/CMakeLists.txt @@ -14,6 +14,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR) endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/imageprovider/ImageProviderCore") +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples/quick/imageprovider) find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) @@ -21,7 +22,6 @@ find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) qt6_add_qml_module(qmlimageproviderplugin - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ImageProviderCore" VERSION 1.0 URI "ImageProviderCore" PLUGIN_TARGET qmlimageproviderplugin diff --git a/examples/quick/imageresponseprovider/CMakeLists.txt b/examples/quick/imageresponseprovider/CMakeLists.txt index 551ce01197..47dbab159d 100644 --- a/examples/quick/imageresponseprovider/CMakeLists.txt +++ b/examples/quick/imageresponseprovider/CMakeLists.txt @@ -14,6 +14,7 @@ if(NOT DEFINED INSTALL_EXAMPLESDIR) endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/imageresponseprovider/ImageResponseProviderCore") +set(QT_QML_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/examples/quick/imageresponseprovider) find_package(Qt6 COMPONENTS Core) find_package(Qt6 COMPONENTS Gui) @@ -21,7 +22,6 @@ find_package(Qt6 COMPONENTS Qml) find_package(Qt6 COMPONENTS Quick) qt6_add_qml_module(qmlimageresponseproviderplugin - OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/ImageResponseProviderCore" VERSION 1.0 URI "ImageResponseProviderCore" PLUGIN_TARGET qmlimageresponseproviderplugin |