QmlDesigner: Update MCU Wizard template for 2.4

Task-number: QDS-4729
Change-Id: I17c07e87542ad140c55e8cde5bc75086b0e05cd0
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Aleksei German
2023-02-20 16:22:12 +01:00
committed by Tim Jenssen
parent f45080e619
commit 0e8dcb8862
5 changed files with 108 additions and 72 deletions

View File

@@ -1,6 +1,6 @@
/* File generated by Qt Creator */ /* File generated by Qt Design Studio */
import QmlProject 1.1 import QmlProject 1.3
Project { Project {
mainFile: "%{MainQmlFileName}" mainFile: "%{MainQmlFileName}"
@@ -32,6 +32,21 @@ Project {
filter: "*.ttf;*.otf" filter: "*.ttf;*.otf"
} }
ModuleFiles {
files: [
"imports/Constants/constants_module.qmlproject"
]
MCU.qulModules: [
"Controls",
"ControlsTemplates",
"Timeline",
"Shapes"
]
}
/* Following entries are for Qt Design Studio compatibility: */
Environment { Environment {
QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf" QT_QUICK_CONTROLS_CONF: "qtquickcontrols2.conf"
} }
@@ -39,8 +54,7 @@ Project {
qtForMCUs: true qtForMCUs: true
/* List of plugin directories passed to QML runtime */ /* List of plugin directories passed to QML runtime */
importPaths: [ "imports", "asset_imports" ] importPaths: [ "imports" ]
/* Required for deployment */
targetDirectory: "/opt/%{ProjectName}" targetDirectory: "/opt/%{ProjectName}"
} }

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.15) cmake_minimum_required (VERSION 3.21.1)
project(%{ProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM) project(%{ProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM)
@@ -6,72 +6,77 @@ if (NOT TARGET Qul::Core)
find_package(Qul) find_package(Qul)
endif() endif()
if (Qul_VERSION VERSION_GREATER_EQUAL "1.7") if (Qul_VERSION VERSION_GREATER_EQUAL "2.4")
qul_add_target(%{ProjectName}) qul_add_target(%{ProjectName} QML_PROJECT %{ProjectName}.qmlproject GENERATE_ENTRYPOINT)
app_target_setup_os(%{ProjectName})
else() else()
add_executable(%{ProjectName}) if (Qul_VERSION VERSION_GREATER_EQUAL "1.7")
target_link_libraries(%{ProjectName} qul_add_target(%{ProjectName})
Qul::QuickUltralite else()
Qul::QuickUltralitePlatform) add_executable(%{ProjectName})
endif()
if (Qul_VERSION VERSION_GREATER_EQUAL "2.0")
file(GLOB_RECURSE fontSources "${CMAKE_CURRENT_SOURCE_DIR}/fonts/*.ttf")
set_property(TARGET %{ProjectName} APPEND PROPERTY QUL_FONT_FILES ${fontSources})
elseif (Qul_VERSION VERSION_GREATER_EQUAL "1.7")
set_property(TARGET %{ProjectName} APPEND PROPERTY QUL_FONTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fonts")
else()
set(QUL_FONTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fonts,${QUL_FONTS_DIR}")
endif()
# Using recurse search to find image files in project directory
# Excluding MCUDefaultStyle because it exists for compatibility purposes with QDS
file(GLOB_RECURSE imgSources "*.png" "*.svg" "*.jpg" "*.jpeg")
list(FILTER imgSources EXCLUDE REGEX ".*/MCUDefaultStyle/.*")
if(imgSources)
qul_add_resource(%{ProjectName} FILES ${imgSources})
endif()
# Registering singletons as qml module
qul_add_qml_module(ConstantsModule
URI Constants
QML_FILES
imports/Constants/Constants.qml
)
message(WARNING "It is recommended to replace the recursive search with the actual list of .qml files in your project.")
file(GLOB_RECURSE qmlSources "*.qml")
# Excluding Constants folder because it is part of another qml module
list(FILTER qmlSources EXCLUDE REGEX ".*/imports/Constants/.*")
# Excluding MCUDefaultStyle because it exists for compatibility purposes with QDS
list(FILTER qmlSources EXCLUDE REGEX ".*/MCUDefaultStyle/.*")
# Excluding binary directory because it can break builds in source dir
list(FILTER qmlSources EXCLUDE REGEX "${CMAKE_CURRENT_BINARY_DIR}/.*")
qul_target_qml_sources(%{ProjectName} ${qmlSources})
if (Qul_VERSION VERSION_GREATER_EQUAL "2.0")
target_link_libraries(%{ProjectName} PRIVATE
Qul::Timeline
Qul::Controls
Qul::Shapes
ConstantsModule)
else()
target_link_libraries(%{ProjectName}
Qul::QuickUltraliteTimeline
Qul::QuickUltraliteControlsStyleDefault
ConstantsModule)
if (Qul_VERSION VERSION_GREATER_EQUAL "1.8")
target_link_libraries(%{ProjectName} target_link_libraries(%{ProjectName}
Qul::QuickUltraliteShapes) Qul::QuickUltralite
Qul::QuickUltralitePlatform)
endif()
if (Qul_VERSION VERSION_GREATER_EQUAL "2.0")
file(GLOB_RECURSE fontSources "${CMAKE_CURRENT_SOURCE_DIR}/fonts/*.ttf")
set_property(TARGET %{ProjectName} APPEND PROPERTY QUL_FONT_FILES ${fontSources})
elseif (Qul_VERSION VERSION_GREATER_EQUAL "1.7")
set_property(TARGET %{ProjectName} APPEND PROPERTY QUL_FONTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fonts")
else()
set(QUL_FONTS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/fonts,${QUL_FONTS_DIR}")
endif()
# Using recurse search to find image files in project directory
# Excluding MCUDefaultStyle because it exists for compatibility purposes with QDS
file(GLOB_RECURSE imgSources "*.png" "*.svg" "*.jpg" "*.jpeg")
list(FILTER imgSources EXCLUDE REGEX ".*/MCUDefaultStyle/.*")
if(imgSources)
qul_add_resource(%{ProjectName} FILES ${imgSources})
endif()
# Registering singletons as qml module
qul_add_qml_module(ConstantsModule
URI Constants
QML_FILES
imports/Constants/Constants.qml
)
message(WARNING "It is recommended to replace the recursive search with the actual list of .qml files in your project.")
file(GLOB_RECURSE qmlSources "*.qml")
# Excluding Constants folder because it is part of another qml module
list(FILTER qmlSources EXCLUDE REGEX ".*/imports/Constants/.*")
# Excluding MCUDefaultStyle because it exists for compatibility purposes with QDS
list(FILTER qmlSources EXCLUDE REGEX ".*/MCUDefaultStyle/.*")
# Excluding binary directory because it can break builds in source dir
list(FILTER qmlSources EXCLUDE REGEX "${CMAKE_CURRENT_BINARY_DIR}/.*")
qul_target_qml_sources(%{ProjectName} ${qmlSources})
if (Qul_VERSION VERSION_GREATER_EQUAL "2.0")
target_link_libraries(%{ProjectName} PRIVATE
Qul::Timeline
Qul::Controls
Qul::Shapes
ConstantsModule)
else()
target_link_libraries(%{ProjectName}
Qul::QuickUltraliteTimeline
Qul::QuickUltraliteControlsStyleDefault
ConstantsModule)
if (Qul_VERSION VERSION_GREATER_EQUAL "1.8")
target_link_libraries(%{ProjectName}
Qul::QuickUltraliteShapes)
endif()
endif()
app_target_setup_os(%{ProjectName})
if (Qul_VERSION VERSION_GREATER_EQUAL "1.7")
app_target_default_entrypoint(%{ProjectName} %{RootItemName})
else()
app_target_default_main(%{ProjectName} %{RootItemName})
endif() endif()
endif() endif()
app_target_setup_os(%{ProjectName})
if (Qul_VERSION VERSION_GREATER_EQUAL "1.7")
app_target_default_entrypoint(%{ProjectName} %{RootItemName})
else()
app_target_default_main(%{ProjectName} %{RootItemName})
endif()

View File

@@ -8,8 +8,8 @@ QtObject {
readonly property color backgroundColor: "#e8e8e8" readonly property color backgroundColor: "#e8e8e8"
/* DirectoryFontLoader doesn't work with Qt Ultralite. /* DirectoryFontLoader doesn't work with Qt Quick Ultralite.
However you may want to uncomment this block to load fonts in real qml environment */ However you may want to uncomment this block to load fonts in QtQuick environment: */
/* /*
property alias fontDirectory: directoryFontLoader.fontDirectory property alias fontDirectory: directoryFontLoader.fontDirectory
property alias relativeFontDirectory: directoryFontLoader.relativeFontDirectory property alias relativeFontDirectory: directoryFontLoader.relativeFontDirectory

View File

@@ -0,0 +1,13 @@
import QmlProject 1.3
Project {
MCU.Module {
uri: "Constants"
}
QmlFiles {
files: [
"Constants.qml"
]
}
}

View File

@@ -164,6 +164,10 @@
"source": "DirectoryFontLoader.qml.tpl", "source": "DirectoryFontLoader.qml.tpl",
"target": "%{ProjectDirectory}/imports/Constants/DirectoryFontLoader.qml" "target": "%{ProjectDirectory}/imports/Constants/DirectoryFontLoader.qml"
}, },
{
"source": "constants_module.qmlproject.tpl",
"target": "%{ProjectDirectory}/imports/Constants/constants_module.qmlproject"
},
{ {
"source": "Screen01.ui.qml.tpl", "source": "Screen01.ui.qml.tpl",
"target": "%{ProjectDirectory}/Screen01.ui.qml", "target": "%{ProjectDirectory}/Screen01.ui.qml",