qt_am_create_builtin_package
Note: This command is in technology preview and may change in future releases.
Synopsis
qt_am_create_builtin_package( target FILES ... [OUTPUT_DIRECTORY output_dir] [INSTALL_DIRECTORY install_dir] [DEPENDENCIES ...] )
If versionless commands are disabled, use qt6_am_create_builtin_package()
instead. It supports the same set of arguments as this command.
Description
Adds a custom target
that acts as a built-in package for the application-manager. The supplied FILES
need to contain at least an info.yaml file that describes the package.
If OUTPUT_DIRECTORY
is specified, all files specified in FILES
will be copied to this folder.
Using the DEPENDENCIES
argument, you can specify a list of targets this package depends on.
The INSTALL_DIRECTORY
argument can be used to specify a directory where all files specified in FILES
and all dependencies will be installed into.
See also qt_am_create_installable_package for packages which can be installed and uninstalled.
Note: This function will serve as an anchor for the application manager's QtCreator integration to discover the available packages in a System UI.
Examples
Here is a snippet from the applicationmanager/hello-world example, showing how this function is used to create a simple package:
qt_am_create_builtin_package(hello-world.blue OUTPUT_DIRECTORY apps/hello-world.blue INSTALL_DIRECTORY ${INSTALL_EXAMPLEDIR}/apps/hello-world.blue FILES apps/hello-world.blue/info.yaml apps/hello-world.blue/icon.png apps/hello-world.blue/main.qml )
A builtin package using a compiled QML module looks like this:
qt_add_qml_module( Twins_module URI "Twins" NO_PLUGIN QML_FILES twins.qml ) if(WIN32) set_target_properties(Twins_module PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") endif() qt_am_create_builtin_package(Twins INSTALL_DIRECTORY "${INSTALL_EXAMPLEDIR}/apps/Twins" FILES info.yaml icon.png DEPENDENCIES Twins_module )
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.