From 0a86a3bdb4536b8d3b29e42fbca3cf46530cd9cc Mon Sep 17 00:00:00 2001 From: Oliver Eftevaag Date: Thu, 11 Nov 2021 16:36:38 +0100 Subject: Model examples: use new cmake api The models directory contains 3 subdirectories with an example project in each. This patch updates the CMakeLists.txt files to use qt_add_qml_module() instead of the old qt_add_resources(). In order to achieve intercompatibility with both cmake and qmake, I had to do some slight modifications to both the .qrc files and the url path used to set the source to the QQuickView. Task-number: QTBUG-98130 Change-Id: I13d1c01a0eda181823f394bc2a4259ce98abd4f8 Reviewed-by: Ulf Hermann (cherry picked from commit a155b3bc3ee161fbb7ff1760781577700b0aafce) Reviewed-by: Qt Cherry-pick Bot --- .../quick/models/abstractitemmodel/CMakeLists.txt | 32 +++++++--------------- .../models/abstractitemmodel/abstractitemmodel.qrc | 2 +- examples/quick/models/abstractitemmodel/main.cpp | 4 +-- examples/quick/models/abstractitemmodel/model.cpp | 2 +- examples/quick/models/abstractitemmodel/view.qml | 4 +-- 5 files changed, 16 insertions(+), 28 deletions(-) (limited to 'examples/quick/models/abstractitemmodel') diff --git a/examples/quick/models/abstractitemmodel/CMakeLists.txt b/examples/quick/models/abstractitemmodel/CMakeLists.txt index 240f171c41..486e6d376a 100644 --- a/examples/quick/models/abstractitemmodel/CMakeLists.txt +++ b/examples/quick/models/abstractitemmodel/CMakeLists.txt @@ -7,7 +7,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) if(NOT DEFINED INSTALL_EXAMPLESDIR) set(INSTALL_EXAMPLESDIR "examples") @@ -15,20 +14,13 @@ endif() set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/quick/models/abstractitemmodel") -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Qml) -find_package(Qt6 COMPONENTS Quick) +find_package(Qt6 COMPONENTS Core Gui Qml Quick) -qt_add_executable(abstractitemmodel +qt_add_executable(abstractitemmodelexample WIN32 MACOSX_BUNDLE main.cpp - model.cpp model.h + model.cpp ) -set_target_properties(abstractitemmodel PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(abstractitemmodel PUBLIC +target_link_libraries(abstractitemmodelexample PUBLIC Qt::Core Qt::Gui Qt::Qml @@ -37,18 +29,14 @@ target_link_libraries(abstractitemmodel PUBLIC # Resources: -set(abstractitemmodel_resource_files - "view.qml" -) - -qt6_add_resources(abstractitemmodel "abstractitemmodel" - PREFIX - "/" - FILES - ${abstractitemmodel_resource_files} +qt_add_qml_module(abstractitemmodelexample + URI abstractitemmodel + VERSION 1.0 + QML_FILES + "view.qml" ) -install(TARGETS abstractitemmodel +install(TARGETS abstractitemmodelexample RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" diff --git a/examples/quick/models/abstractitemmodel/abstractitemmodel.qrc b/examples/quick/models/abstractitemmodel/abstractitemmodel.qrc index 4ae861cb3d..ad8c2df8ae 100644 --- a/examples/quick/models/abstractitemmodel/abstractitemmodel.qrc +++ b/examples/quick/models/abstractitemmodel/abstractitemmodel.qrc @@ -1,5 +1,5 @@ - + view.qml diff --git a/examples/quick/models/abstractitemmodel/main.cpp b/examples/quick/models/abstractitemmodel/main.cpp index dd5b368c6b..9e820391f6 100644 --- a/examples/quick/models/abstractitemmodel/main.cpp +++ b/examples/quick/models/abstractitemmodel/main.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -70,7 +70,7 @@ int main(int argc, char ** argv) view.setResizeMode(QQuickView::SizeRootObjectToView); view.setInitialProperties({{"model", QVariant::fromValue(&model)}}); //![0] - view.setSource(QUrl("qrc:view.qml")); + view.setSource(QUrl("qrc:/abstractitemmodel/view.qml")); view.show(); return app.exec(); diff --git a/examples/quick/models/abstractitemmodel/model.cpp b/examples/quick/models/abstractitemmodel/model.cpp index 9d0032e34c..c58e05577a 100644 --- a/examples/quick/models/abstractitemmodel/model.cpp +++ b/examples/quick/models/abstractitemmodel/model.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. diff --git a/examples/quick/models/abstractitemmodel/view.qml b/examples/quick/models/abstractitemmodel/view.qml index 2b9f87df92..f80c4dca72 100644 --- a/examples/quick/models/abstractitemmodel/view.qml +++ b/examples/quick/models/abstractitemmodel/view.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the examples of the Qt Toolkit. @@ -47,7 +47,7 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -import QtQuick 2.0 +import QtQuick //![0] ListView { -- cgit v1.2.3