summaryrefslogtreecommitdiffstats
path: root/examples/applicationmanager
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2021-05-03 16:42:46 +0200
committerRobert Griebl <robert.griebl@qt.io>2021-06-18 13:06:27 +0200
commit26e09279f3cd12324657011c640972e297928f53 (patch)
tree17839d952b17fcc6338105a85604f543dc95547b /examples/applicationmanager
parent12b4ee7d85b1197cd4b6024e710430a747f76838 (diff)
cmake: Nearly full cmake build
Had to rename a lot of things to conform with the standard Qt module layout that the cmake system expects: - all non-manual tests were moved to a sub-dir named auto/ - the benchmark was moved to tests/ - the 3rdparty folder was moved into src/ Other changes: - libyaml was updated to 2.2.5 while fixing a weird build issue that led to crashes on 64bit systems. - fixed build issues with the new 8.1 MingW compiler. - added support for QT_NO_OPENGL builds. The remaining issues are: - examples still don't build with qmake due to a potential bug in module.pri generation. - tests do run, but the test data is not generated yet dynamically. - qml-only tests are not built and run yet. - qml-only examples are not built yet. Fixes: AUTOSUITE-1632 Change-Id: Ic5fe0148e738b05835c73bed78e624b55861b75e Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Dominik Holland <dominik.holland@qt.io>
Diffstat (limited to 'examples/applicationmanager')
-rw-r--r--examples/applicationmanager/CMakeLists.txt15
-rw-r--r--examples/applicationmanager/animated-windows/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/application-features/CMakeLists.txt30
-rw-r--r--examples/applicationmanager/application-features/imports/CMakeLists.txt3
-rw-r--r--examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt48
-rw-r--r--examples/applicationmanager/application-features/native/CMakeLists.txt5
-rw-r--r--examples/applicationmanager/application-features/native/widgets/CMakeLists.txt41
-rw-r--r--examples/applicationmanager/applicationmanager.pro2
-rw-r--r--examples/applicationmanager/custom-appman/CMakeLists.txt40
-rw-r--r--examples/applicationmanager/frame-timer/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/hello-world/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/launch-intents/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/minidesk/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/multi-views/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/process-status/CMakeLists.txt35
-rw-r--r--examples/applicationmanager/softwarecontainer-plugin/CMakeLists.txt39
-rw-r--r--examples/applicationmanager/startup-plugin/CMakeLists.txt37
17 files changed, 505 insertions, 0 deletions
diff --git a/examples/applicationmanager/CMakeLists.txt b/examples/applicationmanager/CMakeLists.txt
new file mode 100644
index 00000000..c19b0f84
--- /dev/null
+++ b/examples/applicationmanager/CMakeLists.txt
@@ -0,0 +1,15 @@
+
+#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(custom-appman)
+if(LINUX)
+ add_subdirectory(softwarecontainer-plugin)
+endif()
diff --git a/examples/applicationmanager/animated-windows/CMakeLists.txt b/examples/applicationmanager/animated-windows/CMakeLists.txt
new file mode 100644
index 00000000..31a2a51e
--- /dev/null
+++ b/examples/applicationmanager/animated-windows/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from animated-windows.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(animated-windows 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/animated-windows")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+
+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}"
+)
diff --git a/examples/applicationmanager/application-features/CMakeLists.txt b/examples/applicationmanager/application-features/CMakeLists.txt
new file mode 100644
index 00000000..4df08997
--- /dev/null
+++ b/examples/applicationmanager/application-features/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Generated from application-features.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(ui 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/application-features")
+
+)
+set_target_properties(ui PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+
+install(TARGETS ui
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
+add_subdirectory(imports)
+add_subdirectory(native)
diff --git a/examples/applicationmanager/application-features/imports/CMakeLists.txt b/examples/applicationmanager/application-features/imports/CMakeLists.txt
new file mode 100644
index 00000000..cb913a12
--- /dev/null
+++ b/examples/applicationmanager/application-features/imports/CMakeLists.txt
@@ -0,0 +1,3 @@
+# Generated from imports.pro.
+
+add_subdirectory(terminator2)
diff --git a/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt b/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt
new file mode 100644
index 00000000..945ad301
--- /dev/null
+++ b/examples/applicationmanager/application-features/imports/terminator2/CMakeLists.txt
@@ -0,0 +1,48 @@
+# Generated from terminator2.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(terminator2plugin 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/application-features/apps/crash/Terminator")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+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
+ URI "Terminator"
+ INSTALL_LOCATION ${INSTALL_EXAMPLEDIR}
+)
+
+target_sources(terminator2plugin PRIVATE
+ qmlterminator2.cpp qmlterminator2.h
+)
+set_target_properties(terminator2plugin PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(terminator2plugin PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Qml
+ Qt::Quick
+)
+
+install(TARGETS terminator2plugin
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/applicationmanager/application-features/native/CMakeLists.txt b/examples/applicationmanager/application-features/native/CMakeLists.txt
new file mode 100644
index 00000000..0d1c9b10
--- /dev/null
+++ b/examples/applicationmanager/application-features/native/CMakeLists.txt
@@ -0,0 +1,5 @@
+# Generated from native.pro.
+
+if(TARGET Qt::WaylandClient AND TARGET Qt::Widgets)
+ add_subdirectory(widgets)
+endif()
diff --git a/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt b/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt
new file mode 100644
index 00000000..11f79f20
--- /dev/null
+++ b/examples/applicationmanager/application-features/native/widgets/CMakeLists.txt
@@ -0,0 +1,41 @@
+# Generated from widgets.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(widgets 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/application-features/apps/widgets")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+find_package(Qt6 COMPONENTS Widgets)
+
+qt_add_executable(widgets
+ main.cpp
+)
+set_target_properties(widgets PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(widgets PUBLIC
+ Qt::Core
+ Qt::Gui
+ Qt::Widgets
+ appman_commonPrivate
+ appman_launcherPrivate
+)
+
+install(TARGETS widgets
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/applicationmanager/applicationmanager.pro b/examples/applicationmanager/applicationmanager.pro
index 462ef585..c3469aac 100644
--- a/examples/applicationmanager/applicationmanager.pro
+++ b/examples/applicationmanager/applicationmanager.pro
@@ -1,3 +1,5 @@
+requires(false)
+
load(am-config)
requires(!disable-installer)
diff --git a/examples/applicationmanager/custom-appman/CMakeLists.txt b/examples/applicationmanager/custom-appman/CMakeLists.txt
new file mode 100644
index 00000000..69b70411
--- /dev/null
+++ b/examples/applicationmanager/custom-appman/CMakeLists.txt
@@ -0,0 +1,40 @@
+# Generated from custom-appman.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(custom-appman 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/custom-appman")
+
+find_package(Qt6 COMPONENTS AppManMainPrivate)
+
+
+qt_add_executable(custom-appman
+ custom-appman.cpp
+)
+set_target_properties(custom-appman PROPERTIES
+ WIN32_EXECUTABLE FALSE
+ MACOSX_BUNDLE FALSE
+)
+target_compile_definitions(custom-appman PUBLIC
+ QT_MESSAGELOGCONTEXT
+)
+
+target_link_libraries(custom-appman PUBLIC
+ Qt::AppManMainPrivate
+)
+
+install(TARGETS custom-appman
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/applicationmanager/frame-timer/CMakeLists.txt b/examples/applicationmanager/frame-timer/CMakeLists.txt
new file mode 100644
index 00000000..bb6e0a97
--- /dev/null
+++ b/examples/applicationmanager/frame-timer/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from frame-timer.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(frame-timer 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/frame-timer")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+)
+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}"
+)
diff --git a/examples/applicationmanager/hello-world/CMakeLists.txt b/examples/applicationmanager/hello-world/CMakeLists.txt
new file mode 100644
index 00000000..d58f0387
--- /dev/null
+++ b/examples/applicationmanager/hello-world/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from hello-world.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(hello-world 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/hello-world")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+)
+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}"
+)
diff --git a/examples/applicationmanager/launch-intents/CMakeLists.txt b/examples/applicationmanager/launch-intents/CMakeLists.txt
new file mode 100644
index 00000000..82b069d1
--- /dev/null
+++ b/examples/applicationmanager/launch-intents/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from launch-intents.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(launch-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/launch-intents")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+)
+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}"
+)
diff --git a/examples/applicationmanager/minidesk/CMakeLists.txt b/examples/applicationmanager/minidesk/CMakeLists.txt
new file mode 100644
index 00000000..014486e1
--- /dev/null
+++ b/examples/applicationmanager/minidesk/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from minidesk.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(minidesk 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/minidesk")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+)
+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}"
+)
diff --git a/examples/applicationmanager/multi-views/CMakeLists.txt b/examples/applicationmanager/multi-views/CMakeLists.txt
new file mode 100644
index 00000000..92b681c8
--- /dev/null
+++ b/examples/applicationmanager/multi-views/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from multi-views.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(multi-views 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/multi-views")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+)
+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}"
+)
diff --git a/examples/applicationmanager/process-status/CMakeLists.txt b/examples/applicationmanager/process-status/CMakeLists.txt
new file mode 100644
index 00000000..2cb18fbf
--- /dev/null
+++ b/examples/applicationmanager/process-status/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Generated from process-status.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(process-status 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/process-status")
+
+find_package(Qt6 COMPONENTS Core)
+find_package(Qt6 COMPONENTS Gui)
+
+)
+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}"
+)
diff --git a/examples/applicationmanager/softwarecontainer-plugin/CMakeLists.txt b/examples/applicationmanager/softwarecontainer-plugin/CMakeLists.txt
new file mode 100644
index 00000000..1e7f7e7c
--- /dev/null
+++ b/examples/applicationmanager/softwarecontainer-plugin/CMakeLists.txt
@@ -0,0 +1,39 @@
+# Generated from softwarecontainer-plugin.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(softwarecontainer-plugin 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/softwarecontainer-plugin")
+
+find_package(Qt6 COMPONENTS Core DBus AppManCommonPrivate AppManPluginInterfacesPrivate)
+
+qt_add_plugin(softwarecontainer-plugin)
+target_sources(softwarecontainer-plugin PRIVATE
+ softwarecontainer.cpp softwarecontainer.h
+)
+set_target_properties(softwarecontainer-plugin PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(softwarecontainer-plugin PUBLIC
+ Qt::Core
+ Qt::DBus
+ Qt::AppManCommonPrivate
+ Qt::AppManPluginInterfacesPrivate
+)
+
+install(TARGETS softwarecontainer-plugin
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/applicationmanager/startup-plugin/CMakeLists.txt b/examples/applicationmanager/startup-plugin/CMakeLists.txt
new file mode 100644
index 00000000..5cf87297
--- /dev/null
+++ b/examples/applicationmanager/startup-plugin/CMakeLists.txt
@@ -0,0 +1,37 @@
+# Generated from startup-plugin.pro.
+
+cmake_minimum_required(VERSION 3.14)
+project(startup-plugin 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/startup-plugin")
+
+find_package(Qt6 COMPONENTS Core AppManPluginInterfacesPrivate)
+
+qt_add_plugin(startup-plugin)
+target_sources(startup-plugin PRIVATE
+ startup-plugin.cpp startup-plugin.h
+)
+set_target_properties(startup-plugin PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+target_link_libraries(startup-plugin PUBLIC
+ Qt::Core
+ Qt::AppManPluginInterfacesPrivate
+)
+
+install(TARGETS startup-plugin
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)