summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2021-06-21 16:25:49 +0200
committerDominik Holland <dominik.holland@qt.io>2021-06-28 15:32:27 +0200
commit37d87aa343f0367ab9e8456296f423031c21bb34 (patch)
tree54203785438b9e445107e73a784988a1cb82a102
parent5784707989188dc9a60f7c6d4f76c20a59b3368d (diff)
downloadqtapplicationmanager-37d87aa343f0367ab9e8456296f423031c21bb34.tar.gz
Make all qml-only examples usable from within QtCreator
This adds a new qt6_am_add_systemui_wrapper cmake function which generates a wrapper script and makes sure this is callable from within QtCreator. Change-Id: I8270d31167ef5572514d294d634f55962af04355 Reviewed-by: Robert Griebl <robert.griebl@qt.io>
-rw-r--r--examples/applicationmanager/CMakeLists.txt18
-rw-r--r--examples/applicationmanager/animated-windows/CMakeLists.txt18
-rw-r--r--examples/applicationmanager/application-features/CMakeLists.txt16
-rw-r--r--examples/applicationmanager/application-features/apps/compositor/compositor.qml6
-rw-r--r--examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt12
-rw-r--r--examples/applicationmanager/application-features/native/widgets/CMakeLists.txt4
-rw-r--r--examples/applicationmanager/frame-timer/CMakeLists.txt18
-rw-r--r--examples/applicationmanager/hello-world/CMakeLists.txt19
-rw-r--r--examples/applicationmanager/intents/CMakeLists.txt26
-rw-r--r--examples/applicationmanager/launch-intents/CMakeLists.txt19
-rw-r--r--examples/applicationmanager/minidesk/CMakeLists.txt19
-rw-r--r--examples/applicationmanager/multi-views/CMakeLists.txt19
-rw-r--r--examples/applicationmanager/process-status/CMakeLists.txt19
-rw-r--r--src/main-lib/CMakeLists.txt2
-rw-r--r--src/main-lib/Qt6AppManMainPrivateMacros.cmake128
15 files changed, 217 insertions, 126 deletions
diff --git a/examples/applicationmanager/CMakeLists.txt b/examples/applicationmanager/CMakeLists.txt
index c19b0f84..3bd88f16 100644
--- a/examples/applicationmanager/CMakeLists.txt
+++ b/examples/applicationmanager/CMakeLists.txt
@@ -1,14 +1,14 @@
-#add_subdirectory(animated-windows)
-#add_subdirectory(frame-timer)
-#add_subdirectory(hello-world)
-#add_subdirectory(launch-intents)
-#add_subdirectory(minidesk)
-#add_subdirectory(application-features)
-#add_subdirectory(multi-views)
-#add_subdirectory(process-status)
+add_subdirectory(animated-windows)
+add_subdirectory(frame-timer)
+add_subdirectory(hello-world)
+add_subdirectory(launch-intents)
+add_subdirectory(minidesk)
+add_subdirectory(application-features)
+add_subdirectory(multi-views)
+add_subdirectory(process-status)
add_subdirectory(startup-plugin)
-#add_subdirectory(intents)
+add_subdirectory(intents)
add_subdirectory(custom-appman)
if(LINUX)
add_subdirectory(softwarecontainer-plugin)
diff --git a/examples/applicationmanager/animated-windows/CMakeLists.txt b/examples/applicationmanager/animated-windows/CMakeLists.txt
index 31a2a51e..14c1f39d 100644
--- a/examples/applicationmanager/animated-windows/CMakeLists.txt
+++ b/examples/applicationmanager/animated-windows/CMakeLists.txt
@@ -17,19 +17,9 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/animated-windo
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-
-set_target_properties(animated-windows PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(animated-windows PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS animated-windows
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(animated-windows
+ CONFIG_YAML am-config.yaml
+ EXTRA_FILES apps system-ui
)
diff --git a/examples/applicationmanager/application-features/CMakeLists.txt b/examples/applicationmanager/application-features/CMakeLists.txt
index 4df08997..6594ddb6 100644
--- a/examples/applicationmanager/application-features/CMakeLists.txt
+++ b/examples/applicationmanager/application-features/CMakeLists.txt
@@ -1,7 +1,7 @@
# Generated from application-features.pro.
cmake_minimum_required(VERSION 3.14)
-project(ui LANGUAGES CXX)
+project(application-features LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -15,16 +15,12 @@ endif()
set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/application-features")
-)
-set_target_properties(ui PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-install(TARGETS ui
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(application-features
+ CONFIG_YAML am-config.yaml
+ EXTRA_FILES apps system-ui
)
+
add_subdirectory(imports)
add_subdirectory(native)
diff --git a/examples/applicationmanager/application-features/apps/compositor/compositor.qml b/examples/applicationmanager/application-features/apps/compositor/compositor.qml
index 9624d353..64028fd3 100644
--- a/examples/applicationmanager/application-features/apps/compositor/compositor.qml
+++ b/examples/applicationmanager/application-features/apps/compositor/compositor.qml
@@ -52,6 +52,8 @@
import QtQuick 2.11
import QtApplicationManager.Application 2.0
import QtWayland.Compositor 1.3
+import QtWayland.Compositor.XdgShell
+import QtWayland.Compositor.WlShell
ApplicationManagerWindow {
id: root
@@ -83,10 +85,6 @@ ApplicationManagerWindow {
onWlShellSurfaceCreated: shellSurfaces.append({shellSurface: shellSurface});
}
- XdgShellV6 {
- onToplevelCreated: shellSurfaces.append({shellSurface: xdgSurface});
- }
-
XdgShell {
onToplevelCreated: shellSurfaces.append({shellSurface: xdgSurface});
}
diff --git a/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt b/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt
index 945ad301..bd2a9371 100644
--- a/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt
+++ b/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt
@@ -21,15 +21,17 @@ find_package(Qt6 COMPONENTS Qml)
find_package(Qt6 COMPONENTS Quick)
qt6_add_qml_module(terminator2plugin
- OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CURRENT_BINARY_DIR}/../../apps/crash/Terminator"
- VERSION 1.0
+ OUTPUT_DIRECTORY "../../apps/crash/Terminator"
+ VERSION 2.0
URI "Terminator"
- INSTALL_LOCATION ${INSTALL_EXAMPLEDIR}
+ NO_GENERATE_PLUGIN_SOURCE
+ PLUGIN_TARGET terminator2plugin
)
target_sources(terminator2plugin PRIVATE
qmlterminator2.cpp qmlterminator2.h
)
+
set_target_properties(terminator2plugin PROPERTIES
WIN32_EXECUTABLE TRUE
MACOSX_BUNDLE TRUE
@@ -46,3 +48,7 @@ install(TARGETS terminator2plugin
BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
)
+
+install(FILES "${CMAKE_CURRENT_BINARY_DIR}/../../apps/crash/Terminator/qmldir"
+ DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt b/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt
index 11f79f20..148cdb39 100644
--- a/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt
+++ b/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt
@@ -30,8 +30,8 @@ target_link_libraries(widgets PUBLIC
Qt::Core
Qt::Gui
Qt::Widgets
- appman_commonPrivate
- appman_launcherPrivate
+ Qt::AppManCommonPrivate
+ Qt::AppManLauncherPrivate
)
install(TARGETS widgets
diff --git a/examples/applicationmanager/frame-timer/CMakeLists.txt b/examples/applicationmanager/frame-timer/CMakeLists.txt
index bb6e0a97..45525f5d 100644
--- a/examples/applicationmanager/frame-timer/CMakeLists.txt
+++ b/examples/applicationmanager/frame-timer/CMakeLists.txt
@@ -17,19 +17,9 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/frame-timer")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-)
-set_target_properties(frame-timer PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(frame-timer PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS frame-timer
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(frame-timer
+ CONFIG_YAML am-config.yaml
+ EXTRA_FILES apps system-ui
)
diff --git a/examples/applicationmanager/hello-world/CMakeLists.txt b/examples/applicationmanager/hello-world/CMakeLists.txt
index d58f0387..4c8604d1 100644
--- a/examples/applicationmanager/hello-world/CMakeLists.txt
+++ b/examples/applicationmanager/hello-world/CMakeLists.txt
@@ -17,19 +17,10 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/hello-world")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-)
-set_target_properties(hello-world PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(hello-world PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS hello-world
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(hello-world
+ MAIN_QML_FILE system-ui.qml
+ EXTRA_FILES apps
+ EXTRA_ARGS --builtin-apps-manifest-dir apps
)
diff --git a/examples/applicationmanager/intents/CMakeLists.txt b/examples/applicationmanager/intents/CMakeLists.txt
new file mode 100644
index 00000000..b5b69ee0
--- /dev/null
+++ b/examples/applicationmanager/intents/CMakeLists.txt
@@ -0,0 +1,26 @@
+# Generated from intents.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(intents LANGUAGES CXX)
+
+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")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/intents")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
+
+qt6_am_add_systemui_wrapper(intents
+ MAIN_QML_FILE system-ui.qml
+ EXTRA_FILES apps shared
+ EXTRA_ARGS --builtin-apps-manifest-dir apps
+)
diff --git a/examples/applicationmanager/launch-intents/CMakeLists.txt b/examples/applicationmanager/launch-intents/CMakeLists.txt
index 82b069d1..b7d334d0 100644
--- a/examples/applicationmanager/launch-intents/CMakeLists.txt
+++ b/examples/applicationmanager/launch-intents/CMakeLists.txt
@@ -17,19 +17,10 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/launch-intents
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-)
-set_target_properties(launch-intents PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(launch-intents PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS launch-intents
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(launch-intents
+ MAIN_QML_FILE system-ui.qml
+ EXTRA_FILES apps
+ EXTRA_ARGS --builtin-apps-manifest-dir apps
)
diff --git a/examples/applicationmanager/minidesk/CMakeLists.txt b/examples/applicationmanager/minidesk/CMakeLists.txt
index 014486e1..6c6ad79e 100644
--- a/examples/applicationmanager/minidesk/CMakeLists.txt
+++ b/examples/applicationmanager/minidesk/CMakeLists.txt
@@ -17,19 +17,10 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/minidesk")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-)
-set_target_properties(minidesk PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(minidesk PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS minidesk
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(minidesk
+ CONFIG_YAML am-config.yaml
+ EXTRA_FILES apps system-ui
+ EXTRA_ARGS --verbose
)
diff --git a/examples/applicationmanager/multi-views/CMakeLists.txt b/examples/applicationmanager/multi-views/CMakeLists.txt
index 92b681c8..169454b2 100644
--- a/examples/applicationmanager/multi-views/CMakeLists.txt
+++ b/examples/applicationmanager/multi-views/CMakeLists.txt
@@ -17,19 +17,10 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/multi-views")
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-)
-set_target_properties(multi-views PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(multi-views PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS multi-views
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(multi-views
+ CONFIG_YAML am-config.yaml
+ EXTRA_FILES apps system-ui
+ EXTRA_ARGS --verbose
)
diff --git a/examples/applicationmanager/process-status/CMakeLists.txt b/examples/applicationmanager/process-status/CMakeLists.txt
index 2cb18fbf..7d2647b8 100644
--- a/examples/applicationmanager/process-status/CMakeLists.txt
+++ b/examples/applicationmanager/process-status/CMakeLists.txt
@@ -17,19 +17,10 @@ set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/applicationmanager/process-status
find_package(Qt6 COMPONENTS Core)
find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS AppManMainPrivate)
-)
-set_target_properties(process-status PROPERTIES
- WIN32_EXECUTABLE TRUE
- MACOSX_BUNDLE TRUE
-)
-target_link_libraries(process-status PUBLIC
- Qt::Core
- Qt::Gui
-)
-
-install(TARGETS process-status
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+qt6_am_add_systemui_wrapper(process-status
+ CONFIG_YAML am-config.yaml
+ EXTRA_FILES apps system-ui
+ EXTRA_ARGS --verbose
)
diff --git a/src/main-lib/CMakeLists.txt b/src/main-lib/CMakeLists.txt
index 4eab9378..a7214aa7 100644
--- a/src/main-lib/CMakeLists.txt
+++ b/src/main-lib/CMakeLists.txt
@@ -35,6 +35,8 @@ qt_internal_add_module(AppManMainPrivate
Qt::AppManNotificationPrivate
Qt::AppManSharedMainPrivate
Qt::AppManWindowPrivate
+ EXTRA_CMAKE_FILES
+ Qt6AppManMainPrivateMacros.cmake
)
qt_internal_extend_target(AppManMainPrivate CONDITION QT_FEATURE_am_widgets_support AND TARGET Qt::Widgets
diff --git a/src/main-lib/Qt6AppManMainPrivateMacros.cmake b/src/main-lib/Qt6AppManMainPrivateMacros.cmake
new file mode 100644
index 00000000..e163ff34
--- /dev/null
+++ b/src/main-lib/Qt6AppManMainPrivateMacros.cmake
@@ -0,0 +1,128 @@
+function(qt_am_internal_create_copy_command file)
+ if (NOT ${CMAKE_CURRENT_BINARY_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR})
+ add_custom_command(OUTPUT ${file}
+ COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/${file} ${CMAKE_CURRENT_BINARY_DIR}/${file}
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${file}
+ COMMENT "Copying file: ${file}")
+ endif()
+ if (NOT ARG_NO_INSTALL)
+ get_filename_component(dest ${INSTALL_EXAMPLEDIR}/${file} DIRECTORY)
+ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${file}
+ DESTINATION ${dest}
+ )
+ endif()
+endfunction()
+
+function(qt6_am_add_systemui_wrapper target)
+ cmake_parse_arguments(
+ PARSE_ARGV 1
+ ARG
+ "NO_INSTALL" "MAIN_QML_FILE" "CONFIG_YAML;EXTRA_FILES;EXTRA_ARGS"
+ )
+
+ file(CONFIGURE OUTPUT main.cpp
+ CONTENT "int main(int, char *[]){}"
+ )
+
+ set(CMD_ARGS)
+ set(ALL_EXTRA_FILES)
+ if (ARG_MAIN_QML_FILE)
+ list(APPEND ALL_EXTRA_FILES ${ARG_MAIN_QML_FILE})
+ qt_am_internal_create_copy_command(${ARG_MAIN_QML_FILE})
+ endif()
+
+ if (ARG_CONFIG_YAML)
+ foreach(F ${ARG_CONFIG_YAML})
+ list(APPEND CMD_ARGS "-c ${F}")
+ list(APPEND ALL_EXTRA_FILES ${F})
+ qt_am_internal_create_copy_command(${F})
+ endforeach()
+ endif()
+
+ if (ARG_EXTRA_FILES)
+ foreach(F ${ARG_EXTRA_FILES})
+ file(GLOB_RECURSE MY_EXTRA_FILES
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ "${F}/*"
+ )
+ list(APPEND ALL_EXTRA_FILES ${MY_EXTRA_FILES})
+ foreach(B ${MY_EXTRA_FILES})
+ qt_am_internal_create_copy_command(${B})
+ endforeach()
+ endforeach()
+ endif()
+
+ string(JOIN " " CMD_ARGS_STR ${CMD_ARGS})
+ string(JOIN " " CMD_EXTRA_ARGS_STR ${ARG_EXTRA_ARGS})
+
+ if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
+ set(WRAPPER_SUFFIX ".bat")
+ set(WRAPPER_SCRIPT "_${target}${WRAPPER_SUFFIX}")
+ set(bindir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_BINDIR}")
+ set(plugindir "${QT_BUILD_INTERNALS_RELOCATABLE_INSTALL_PREFIX}/${INSTALL_PLUGINSDIR}")
+ get_filename_component(bindir "${bindir}" REALPATH)
+ file(TO_NATIVE_PATH "${bindir}" bindir)
+ get_filename_component(plugindir "${plugindir}" REALPATH)
+ file(TO_NATIVE_PATH "${plugindir}" plugindir)
+
+ file(GENERATE OUTPUT ${WRAPPER_SCRIPT} CONTENT
+"@echo off
+SetLocal EnableDelayedExpansion
+(set PATH=${bindir};!PATH!)
+if defined QT_PLUGIN_PATH (
+ set QT_PLUGIN_PATH=${plugindir};!QT_PLUGIN_PATH!
+) else (
+ set QT_PLUGIN_PATH=${plugindir}
+)
+${CMAKE_INSTALL_PREFIX}/${INSTALL_BINDIR}/$<TARGET_FILE_NAME:${QT_CMAKE_EXPORT_NAMESPACE}::appman> ${CMD_ARGS_STR} ${CMD_EXTRA_ARGS_STR} ${ARG_MAIN_QML_FILE} %*
+EndLocal
+"
+ )
+ else()
+ set(WRAPPER_SUFFIX ".sh")
+ set(WRAPPER_SCRIPT "_${target}${WRAPPER_SUFFIX}")
+ file(GENERATE OUTPUT ${WRAPPER_SCRIPT} CONTENT
+"#!/bin/sh
+exec ${CMAKE_INSTALL_PREFIX}/${INSTALL_BINDIR}/$<TARGET_FILE_NAME:${QT_CMAKE_EXPORT_NAMESPACE}::appman> ${CMD_ARGS_STR} ${CMD_EXTRA_ARGS_STR} ${ARG_MAIN_QML_FILE} \"$@\";
+"
+ )
+ endif()
+
+
+ add_executable(${target}
+ ${CMAKE_CURRENT_BINARY_DIR}/main.cpp
+ # Add all files we copy to the build folder as sources to the main executable
+ # This makes all files show up in the IDE
+ ${ALL_EXTRA_FILES}
+ )
+
+ add_custom_target(${target}_deploy
+ DEPENDS ${ALL_EXTRA_FILES}
+ )
+
+ set_target_properties(${target} PROPERTIES SUFFIX "${WRAPPER_SUFFIX}")
+
+ add_dependencies(${target} ${target}_deploy)
+
+ set(EXTRA_COMMAND "")
+ if ("${WRAPPER_SUFFIX}" STREQUAL ".sh")
+ set(EXTRA_COMMAND COMMAND chmod +x ${WRAPPER_SCRIPT})
+ endif()
+
+ add_custom_command(TARGET ${target} POST_BUILD
+ ${EXTRA_COMMAND}
+ COMMAND ${CMAKE_COMMAND} -E copy ${WRAPPER_SCRIPT} $<TARGET_FILE_NAME:${target}>
+ )
+
+ if (NOT ARG_NO_INSTALL)
+ install(PROGRAMS $<TARGET_FILE:${target}>
+ DESTINATION "${INSTALL_EXAMPLEDIR}"
+ )
+ endif()
+endfunction()
+
+if(NOT QT_NO_CREATE_VERSIONLESS_FUNCTIONS)
+ function(qt_am_add_systemui_wrapper)
+ qt6_am_add_systemui_wrapper(${ARGV})
+ endfunction()
+endif()