qt-cmake-create: Modernize QML template

- Do not use a version for the executable module target
- Rely on QTP0001 for the RESOURCE_PREFIX (via
  qt_standard_project_setup)
- Do not use OUTPUT_DIRECTORY to avoid a URI mismatch, potentially
  causing issues with the implicit import. Instead, use
  RUNTIME_OUTPUT_NAME to avoid a conflict between folder and executable
  name.

Change-Id: Ic6188d96042e7b34eb3f423daf2b57290ca18a11
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit e84145d6c14e92c3a499904f70046bc3ceee5960)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Fabian Kosmale 2025-02-14 15:39:18 +01:00 committed by Qt Cherry-pick Bot
parent 6f559732cf
commit 34625db91a
6 changed files with 11 additions and 13 deletions

View File

@ -93,12 +93,11 @@ handle_type(cpp EXTENSIONS .c .cc .cpp .cxx .h .hh .hxx .hpp MODULES Core TEMPLA
handle_type(qml EXTENSIONS .qml .js .mjs MODULES Gui Qml Quick TEMPLATE
"\n\nqt_add_qml_module(${project_name}
URI ${project_name}
OUTPUT_DIRECTORY qml
VERSION 1.0
RESOURCE_PREFIX /qt/qml
QML_FILES
@files@
)"
)
set_property(TARGET ${project_name} PROPERTY RUNTIME_OUTPUT_NAME \"${project_name}app\")
"
)
handle_type(ui EXTENSIONS .ui MODULES Gui Widgets DEPENDS cpp TEMPLATE
@ -162,7 +161,7 @@ set(content
project(${project_name} LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS ${packages_string})
qt_standard_project_setup()"
qt_standard_project_setup(REQUIRES 6.8)"
)
set(has_useful_sources FALSE)

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
project(cpp_project LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()
qt_standard_project_setup(REQUIRES 6.8)
qt_add_executable(cpp_project
main.cpp

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
project(proto_project LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS Protobuf Grpc)
qt_standard_project_setup()
qt_standard_project_setup(REQUIRES 6.8)
qt_add_protobuf(proto_project
GENERATE_PACKAGE_SUBFOLDERS

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
project(qml_project LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS Gui Qml Quick Core)
qt_standard_project_setup()
qt_standard_project_setup(REQUIRES 6.8)
qt_add_executable(qml_project
main.cpp
@ -10,13 +10,12 @@ qt_add_executable(qml_project
qt_add_qml_module(qml_project
URI qml_project
OUTPUT_DIRECTORY qml
VERSION 1.0
RESOURCE_PREFIX /qt/qml
QML_FILES
TestComponent.qml
main.qml
)
set_property(TARGET qml_project PROPERTY RUNTIME_OUTPUT_NAME "qml_projectapp")
target_link_libraries(qml_project
PRIVATE

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
project(qrc_project LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS Core)
qt_standard_project_setup()
qt_standard_project_setup(REQUIRES 6.8)
qt_add_executable(qrc_project
main.cpp

View File

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.16)
project(ui_project LANGUAGES CXX)
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets)
qt_standard_project_setup()
qt_standard_project_setup(REQUIRES 6.8)
qt_add_executable(ui_project
main.cpp