summaryrefslogtreecommitdiffstats
path: root/examples/corelib/platform/androidnotifier/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'examples/corelib/platform/androidnotifier/CMakeLists.txt')
-rw-r--r--examples/corelib/platform/androidnotifier/CMakeLists.txt92
1 files changed, 47 insertions, 45 deletions
diff --git a/examples/corelib/platform/androidnotifier/CMakeLists.txt b/examples/corelib/platform/androidnotifier/CMakeLists.txt
index fa5a7ce023..b356b15a43 100644
--- a/examples/corelib/platform/androidnotifier/CMakeLists.txt
+++ b/examples/corelib/platform/androidnotifier/CMakeLists.txt
@@ -1,55 +1,57 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
cmake_minimum_required(VERSION 3.16)
project(androidnotifier LANGUAGES CXX)
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
+if(NOT ANDROID)
+ message(FATAL_ERROR "Example only works on Android")
+endif()
+
+find_package(Qt6 REQUIRED COMPONENTS Widgets)
-set(CMAKE_AUTOMOC ON)
-set(CMAKE_AUTORCC ON)
-set(CMAKE_AUTOUIC ON)
+qt_standard_project_setup()
-if(NOT DEFINED INSTALL_EXAMPLESDIR)
- set(INSTALL_EXAMPLESDIR "examples")
-endif()
+qt_add_executable(androidnotifier
+ MANUAL_FINALIZATION
+ main.cpp
+ notificationclient.cpp
+ notificationclient.h
+ android/src/org/qtproject/example/androidnotifier/NotificationClient.java
+ android/AndroidManifest.xml
+)
+
+target_link_libraries(androidnotifier PRIVATE
+ Qt6::CorePrivate
+ Qt6::Widgets
+)
-find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
-find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
+set_property(TARGET androidnotifier APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
+ ${CMAKE_CURRENT_SOURCE_DIR}/android)
-set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/corelib/platform/androidnotifier")
+qt_finalize_executable(androidnotifier)
-set(PROJECT_SOURCES
- main.cpp
- notificationclient.cpp
- notificationclient.h
+set(qml_resource_files
+ "images/happy.png"
+ "images/sad.png"
)
-if(ANDROID)
- qt_add_executable(androidnotifier
- MANUAL_FINALIZATION
- ${PROJECT_SOURCES})
- target_link_libraries(androidnotifier PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
-
- set_property(TARGET androidnotifier APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
- ${CMAKE_CURRENT_SOURCE_DIR}/android)
-
- if(QT_VERSION_MAJOR EQUAL 6)
- qt_finalize_executable(androidnotifier)
- endif()
-
- set(qml_resource_files
- "images/happy.png"
- "images/sad.png"
- )
-
- qt6_add_resources(androidnotifier "main"
- PREFIX
- "/"
- FILES
- ${qml_resource_files}
- )
-
- install(TARGETS androidnotifier
- RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
- BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
- LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
- )
-endif()
+qt_add_resources(androidnotifier "main"
+ PREFIX
+ "/"
+ FILES
+ ${qml_resource_files}
+)
+
+install(TARGETS androidnotifier
+ BUNDLE DESTINATION .
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+)
+
+qt_generate_deploy_app_script(
+ TARGET androidnotifier
+ OUTPUT_SCRIPT deploy_script
+ NO_UNSUPPORTED_PLATFORM_ERROR
+)
+install(SCRIPT ${deploy_script})