diff options
Diffstat (limited to 'examples/corelib/platform/androidnotifier/CMakeLists.txt')
-rw-r--r-- | examples/corelib/platform/androidnotifier/CMakeLists.txt | 92 |
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}) |