From 8b8c003e0be89baef3715c7f905ba32213bdb853 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Thu, 16 Dec 2021 16:49:22 -0500 Subject: Update for app framework removal Changes: - Remove the autobuild scripts and config.xml used by the app framework widget build. - Update the qmake files to just build a "settings" binary and install it into /usr/bin by default. - Remove the code in main.cpp that handled reading the WebSocket command-line arguments and passing them to binding related code. - Tweak the Bluetooth QML to call into the new start call in the libqtappfw-bt Bluetooth object that replaces the previous WebSocket onConnected hook. - Remove the voice related code as it is not likely to be re-enabled anytime soon. Bug-AGL: SPEC-4182 Signed-off-by: Scott Murray Change-Id: I8d3272b62aa403a71adadd26c545c1ed33281e5f --- app/Settings.qml | 3 - app/app.pri | 3 - app/app.pro | 22 +- app/bluetooth/Bluetooth.qml | 10 +- app/main.cpp | 37 +--- app/voice/ConfigDialog.qml | 265 ---------------------- app/voice/Voice.qml | 101 --------- app/voice/images/HMI_Settings_VoiceIcon.svg | 331 ---------------------------- app/voice/voice.qrc | 7 - autobuild/agl/autobuild | 110 --------- autobuild/linux/autobuild | 110 --------- package/config.xml | 20 -- settings.pro | 3 +- 13 files changed, 24 insertions(+), 998 deletions(-) delete mode 100644 app/app.pri delete mode 100644 app/voice/ConfigDialog.qml delete mode 100644 app/voice/Voice.qml delete mode 100644 app/voice/images/HMI_Settings_VoiceIcon.svg delete mode 100644 app/voice/voice.qrc delete mode 100755 autobuild/agl/autobuild delete mode 100755 autobuild/linux/autobuild delete mode 100644 package/config.xml diff --git a/app/Settings.qml b/app/Settings.qml index f257d8a..a994bd7 100644 --- a/app/Settings.qml +++ b/app/Settings.qml @@ -24,7 +24,6 @@ import 'bluetooth' import 'wifi' import 'wired' import 'version' -import 'voice' ApplicationWindow { id: root @@ -74,8 +73,6 @@ ApplicationWindow { Wired {} - Voice {} - Version {} } } diff --git a/app/app.pri b/app/app.pri deleted file mode 100644 index f22f540..0000000 --- a/app/app.pri +++ /dev/null @@ -1,3 +0,0 @@ -TEMPLATE = app - -DESTDIR = $${OUT_PWD}/../package/root/bin diff --git a/app/app.pro b/app/app.pro index 2ff2519..3a14c80 100644 --- a/app/app.pro +++ b/app/app.pro @@ -1,14 +1,11 @@ +TEMPLATE = app TARGET = settings -QT = quickcontrols2 websockets +QT = qml quickcontrols2 +CONFIG += c++11 link_pkgconfig -SOURCES = main.cpp - -CONFIG += link_pkgconfig -PKGCONFIG += qtappfw-network qtappfw-bt qtappfw-voice qtqrcode-quickitem +PKGCONFIG += qtappfw-network qtappfw-bt -CONFIG(release, debug|release) { - QMAKE_POST_LINK = $(STRIP) --strip-unneeded $(TARGET) -} +SOURCES = main.cpp RESOURCES += \ settings.qrc \ @@ -17,7 +14,10 @@ RESOURCES += \ wifi/wifi.qrc \ wired/wired.qrc \ bluetooth/bluetooth.qrc \ - version/version.qrc \ - voice/voice.qrc + version/version.qrc + +target.path = $${PREFIX}/usr/bin +target.files += $${OUT_PWD}/$${TARGET} +target.CONFIG = no_check_exist executable -include(app.pri) +INSTALLS += target diff --git a/app/bluetooth/Bluetooth.qml b/app/bluetooth/Bluetooth.qml index b2b3308..c1b2aa2 100644 --- a/app/bluetooth/Bluetooth.qml +++ b/app/bluetooth/Bluetooth.qml @@ -17,7 +17,6 @@ import QtQuick 2.6 import QtQuick.Layouts 1.1 import QtQuick.Controls 2.0 -import QtWebSockets 1.0 import '..' SettingPage { @@ -27,13 +26,20 @@ SettingPage { checkable: true readonly property bool isBluetooth: true + Component.onCompleted : { + bluetooth.start() + } + Connections { target: bluetooth onRequestConfirmationEvent: { - bluetooth.send_confirmation(data.pincode) + // If a dialog were to be display to confirm the PIN it + // could be triggered here. + bluetooth.send_confirmation(pincode) } onPowerChanged: { + console.log("onPowerChanged - state ", state) if (state) { bluetooth.start_discovery() bluetooth.discoverable = true; diff --git a/app/main.cpp b/app/main.cpp index 40d0d55..4c989ae 100644 --- a/app/main.cpp +++ b/app/main.cpp @@ -24,10 +24,8 @@ #include #include #include -#include #include #include -#include int main(int argc, char *argv[]) { @@ -45,39 +43,13 @@ int main(int argc, char *argv[]) QQuickStyle::setStyle("AGL"); - QCommandLineParser parser; - parser.addPositionalArgument("port", app.translate("main", "port for binding")); - parser.addPositionalArgument("secret", app.translate("main", "secret for binding")); - parser.addHelpOption(); - parser.addVersionOption(); - parser.process(app); - QStringList positionalArguments = parser.positionalArguments(); - QQmlApplicationEngine engine; - if (positionalArguments.length() != 2) { - exit(EXIT_FAILURE); - } - int port = positionalArguments.takeFirst().toInt(); - QString secret = positionalArguments.takeFirst(); - QUrlQuery query; - query.addQueryItem(QStringLiteral("token"), secret); - - QUrl bindingAddressWS; - bindingAddressWS.setScheme(QStringLiteral("ws")); - bindingAddressWS.setHost(QStringLiteral("localhost")); - bindingAddressWS.setPort(port); - bindingAddressWS.setPath(QStringLiteral("/api")); - bindingAddressWS.setQuery(query); QQmlContext *context = engine.rootContext(); - context->setContextProperty(QStringLiteral("bindingAddressWS"), bindingAddressWS); - context->setContextProperty("network", new Network(bindingAddressWS, context)); - - std::string token = secret.toStdString(); QFile version("/proc/version"); if (version.open(QFile::ReadOnly)) { QStringList data = QString::fromLocal8Bit(version.readAll()).split(QLatin1Char(' ')); - engine.rootContext()->setContextProperty("kernel", data.at(2)); + context->setContextProperty("kernel", data.at(2)); version.close(); } else { qWarning() << version.errorString(); @@ -87,15 +59,14 @@ int main(int argc, char *argv[]) if (aglversion.open(QFile::ReadOnly)) { QStringList data = QString::fromLocal8Bit(aglversion.readAll()).split(QLatin1Char('\n')); QStringList data2 = data.at(2).split(QLatin1Char('"')); - engine.rootContext()->setContextProperty("ucb", data2.at(1)); + context->setContextProperty("ucb", data2.at(1)); aglversion.close(); } else { qWarning() << aglversion.errorString(); } - QtQrCodeQuickItem::registerQmlTypes(); - engine.rootContext()->setContextProperty("bluetooth", new Bluetooth(bindingAddressWS, context)); - engine.rootContext()->setContextProperty("voice", new Voice(bindingAddressWS, context)); + context->setContextProperty("bluetooth", new Bluetooth(true, context)); + context->setContextProperty("network", new Network(true, context)); engine.load(QUrl(QStringLiteral("qrc:/Settings.qml"))); diff --git a/app/voice/ConfigDialog.qml b/app/voice/ConfigDialog.qml deleted file mode 100644 index 6ab7dea..0000000 --- a/app/voice/ConfigDialog.qml +++ /dev/null @@ -1,265 +0,0 @@ -/* - * Copyright (C) 2016 The Qt Company Ltd. - * Copyright (C) 2019 Konsulko Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import QtQuick 2.11 -import QtQuick.Controls 2.4 -import QtQuick.Layouts 1.3 -import QtQrCode.Component 1.0 -import AGL.Demo.Controls 1.0 - -Dialog { - id: root - property alias xpos: root.x - property alias ypos: root.y - property alias maxpwidth: root.width - property alias maxpheight: root.height - - property string thisAgentName: undefined - property string thisAgentId: undefined - property string thisAgentVendor: undefined - property string thisAgentWuW: undefined - property string thisAgentAuthState: undefined - property string thisAgentConnState: undefined - property string thisAgentDialogState: undefined - property string thisAgentLoginUrl: undefined - property string thisAgentLoginCode: undefined - property bool tokenValid: false - property bool agentActive: false - - signal requestNewToken(string thisAgentId) - - visible: false - z: 1 - focus: true - modal: true - footer: DialogButtonBox { - Button { text: "CLOSE" - DialogButtonBox.buttonRole: DialogButtonBox.RejectRole - } - Button { text: "UPDATE" - DialogButtonBox.buttonRole: DialogButtonBox.ResetRole - } - background: Rectangle { - border.color : '#00ADDC' - color: '#848286' - } - } - - background: Rectangle { - border.color : '#00ADDC' - color: 'black' - opacity: 0.5 - } - - onReset: refreshToken() - function refreshToken() { - root.requestNewToken(thisAgentId); - } - - Item { - id: container - anchors.centerIn: parent - anchors.fill: parent - ColumnLayout { - anchors.fill: parent - spacing: 0 - - RowLayout { - Layout.fillHeight: false - Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft | Qt.AlignTop - spacing: 16 - - /* Labels */ - ColumnLayout { - Layout.fillWidth: true - Label { - id: nameLabel - font.pixelSize: 28 - color: 'white' - text: "Voice Agent:" - Layout.preferredWidth: 200 - } - Label { - id: vendorLabel - font.pixelSize: 28 - color: 'white' - text: "Vendor:" - Layout.preferredWidth: 200 - } - Label { - id: wuwLabel - font.pixelSize: 28 - color: 'white' - text: "Wake Up Word:" - Layout.preferredWidth: 200 - } - Label { - id: authLabel - font.pixelSize: 28 - color: 'white' - text: "Authorization status:" - } - Label { - id: connLabel - font.pixelSize: 28 - color: 'white' - text: "Connection status:" - } - Label { - id: dialogLabel - font.pixelSize: 28 - color: 'white' - text: "Dialog status:" - } - } - - /* Values */ - ColumnLayout { - Layout.fillWidth: true - Label { - id: nameValue - font.pixelSize: 28 - color: '#66FF99' - text: thisAgentName - } - Label { - id: vendorValue - font.pixelSize: 28 - color: '#66FF99' - text: thisAgentVendor - } - Label { - id: wuwValue - font.pixelSize: 28 - color: '#66FF99' - text: thisAgentWuW - } - Label { - id: authValue - font.pixelSize: 28 - color: (thisAgentAuthState == "UNINITIALIZED")? '#00ADDC' : '#848286' - text: thisAgentAuthState - } - Label { - id: connValue - font.pixelSize: 28 - color: (thisAgentConnState == "DISCONNECTED")? '#00ADDC' : '#848286' - text: thisAgentConnState - } - Label { - id: dialogValue - font.pixelSize: 28 - color: (thisAgentDialogState == "MICROPHONEOFF")? '#00ADDC' : '#848286' - text: thisAgentDialogState - } - } - } - RowLayout { - Layout.fillHeight: true - Layout.fillWidth: true - Layout.alignment: Qt.AlignLeft - Layout.topMargin: 32 - spacing: 16 - visible: root.thisAgentAuthState !== "REFRESHED" - ColumnLayout { - Layout.fillWidth: true - Label { - id: loginUrlLabel - font.pixelSize: 28 - color: 'white' - text: "Login url:" - } - Label { - id: loginCodeLabel - font.pixelSize: 28 - color: 'white' - text: "Login code:" - } - } - ColumnLayout { - Layout.fillWidth: true - Label { - id: loginUrlValue - font.pixelSize: 28 - color: root.tokenValid? '#848286':'#0DF9FF' - text: thisAgentLoginUrl - } - Label { - id: loginCodeValue - font.pixelSize: 28 - color: root.tokenValid? '#848286':'#0DF9FF' - text: thisAgentLoginCode - } - } - } - RowLayout { - Layout.fillHeight: true - Layout.fillWidth: true - Layout.alignment: Qt.AlignHCenter - Layout.topMargin: 8 - Layout.bottomMargin: 8 - - QtQrCode { - /* - * FIXME: Generated URL is currently Alexa-specific, work around for - * now by checking agent name and only displaying for Alexa. - */ - data: "%1?cbl-code=%2".arg(root.thisAgentLoginUrl).arg(root.thisAgentLoginCode) - visible: root.thisAgentName === "Alexa" && root.thisAgentAuthState !== "REFRESHED" && root.tokenValid - background: 'white' - margin: 16 - Layout.fillWidth: true - Layout.fillHeight: true - } - } - Label { - id: instructions - font.pixelSize: 18 - - states: [ - State { - name: "HAVE_TOKEN" - when: root.thisAgentAuthState !== "REFRESHED" && root.tokenValid - PropertyChanges { - target: instructions - text: "You can use the supplied login data to enable "+thisAgentName+"." - visible: true - } - }, - State { - name: "NEED_TOKEN" - when: root.thisAgentAuthState !== "REFRESHED" && !root.tokenValid - PropertyChanges { - target: instructions - text: "The current login data is not valid. Press 'UPDATE' to refresh." - visible: true - } - }, - State { - name: "AUTHORIZED" - when: root.thisAgentAuthState === "REFRESHED" - PropertyChanges { - target: instructions - visible: false - } - } - ] - } - } - } -} diff --git a/app/voice/Voice.qml b/app/voice/Voice.qml deleted file mode 100644 index 4de43b6..0000000 --- a/app/voice/Voice.qml +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2016 The Qt Company Ltd. - * Copyright (C) 2019 Konsulko Group - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import QtQuick 2.11 -import QtQuick.Layouts 1.1 -import QtQuick.Controls 2.4 -import AGL.Demo.Controls 1.0 -import ".." - -SettingPage { - id: root - icon: '/voice/images/HMI_Settings_VoiceIcon.svg' - title: 'Voice' - readonly property bool isVoice: true - - Component { - id: voiceAgent - MouseArea { - height: 120 - width: ListView.view.width - Column { - anchors.leftMargin: 100 - id: agentName - Label { - id: agentNameText - text: name - color: '#66FF99' - font.pixelSize: 38 - font.bold: active === "active" - } - } - Column { - anchors.right: parent.right - anchors.rightMargin: 5 - Button { - visible: active === "active" - font.pixelSize: 18 - text: "DETAILS" - onClicked: { - agentdata.tokenValid = Qt.binding(function() { return (usrauth[2] === "expired")? false : true }) - agentdata.agentActive = Qt.binding(function() { return (active === "active")? true: false }) - agentdata.open() - } - - ConfigDialog { - id: agentdata - parent: Overlay.overlay - maxpwidth: 744 - maxpheight: 744 - xpos: (parent.width - maxpwidth)/2 - ypos: (parent.height - maxpheight)/2 - thisAgentName: name - thisAgentId: id - thisAgentWuW: wuw - thisAgentVendor: vendor - thisAgentAuthState: authstate - thisAgentConnState: connstate - thisAgentDialogState: dialogstate - thisAgentLoginUrl: usrauth[0] - thisAgentLoginCode: usrauth[1] - - onRequestNewToken: { - voice.getCBLpair(id); - } - } - } - } - - Image { - source: '../images/HMI_Settings_DividingLine.svg' - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: parent.top - anchors.topMargin: -15 - visible: model.index > 0 - } - } - } - - ListView { - id: view - anchors.fill: parent - anchors.margins: 100 - model: VoiceAgentModel - delegate: voiceAgent - clip: true - } -} diff --git a/app/voice/images/HMI_Settings_VoiceIcon.svg b/app/voice/images/HMI_Settings_VoiceIcon.svg deleted file mode 100644 index 7e6f8f6..0000000 --- a/app/voice/images/HMI_Settings_VoiceIcon.svg +++ /dev/null @@ -1,331 +0,0 @@ - - - -image/svg+xml \ No newline at end of file diff --git a/app/voice/voice.qrc b/app/voice/voice.qrc deleted file mode 100644 index 8b05e91..0000000 --- a/app/voice/voice.qrc +++ /dev/null @@ -1,7 +0,0 @@ - - - Voice.qml - ConfigDialog.qml - images/HMI_Settings_VoiceIcon.svg - - diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild deleted file mode 100755 index bbbc13e..0000000 --- a/autobuild/agl/autobuild +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015 - 2018 "IoT.bzh" -# Copyright (C) 2020 Konsulko Group -# Author "Romain Forlot" -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -THISFILE := $(lastword $(MAKEFILE_LIST)) -ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) - -# Build directories -# Note that the debug directory is defined in relation to the release -# directory (BUILD_DIR), this needs to be kept in mind if over-riding -# it and building that widget types, the specific widget type variable -# (e.g. BUILD_DIR_DEBUG) may also need to be specified to yield the -# desired output hierarchy. -BUILD_DIR = $(ROOT_DIR)/build -BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) - -# Output directory variable for use in pattern rules. -# This is intended for internal use only, hence the explicit override -# definition. -override OUTPUT_DIR = $(BUILD_DIR) - -# Final install directory for widgets -DEST = $(OUTPUT_DIR) - -# Default build type for release builds -BUILD_TYPE = release - -.PHONY: all help update install distclean -.PHONY: clean clean-release clean-debug clean-all -.PHONY: configure configure-release configure-debug -.PHONY: build build-release build-debug build-all -.PHONY: package package-release package-debug package-all - -help: - @echo "List of targets available:" - @echo "" - @echo "- all" - @echo "- help" - @echo "- clean" - @echo "- distclean" - @echo "- configure" - @echo "- build: compilation, link and prepare files for package into a widget" - @echo "- package: output a widget file '*.wgt'" - @echo "- install: install in $(DEST) directory" - @echo "" - @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" - @echo "Don't use your build dir as DEST as wgt file is generated at this location" - -all: package-all - -# Target specific variable over-rides so static pattern rules can be -# used for the various type-specific targets. - -configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) -configure-debug build-debug package-debug: BUILD_TYPE = debug - -clean-release clean-debug: - @if [ -d $(OUTPUT_DIR) ]; then \ - $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ - else \ - echo Nothing to clean; \ - fi - -clean: clean-release - -clean-all: clean-release clean-debug - -distclean: clean-all - -configure-release configure-debug: - @mkdir -p $(OUTPUT_DIR) - @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ - (cd $(OUTPUT_DIR) && qmake CONFIG+=$(BUILD_TYPE) $(CONFIGURE_ARGS) $(ROOT_DIR)); \ - fi - -configure: configure-release - -build-release build-debug: build-%: configure-% - @$(MAKE) -C $(OUTPUT_DIR) $(BUILD_ARGS) all - -build: build-release - -build-all: build-release build-debug - -package-release package-debug: package-%: build-% - @cp $(OUTPUT_DIR)/package/*.wgt $(OUTPUT_DIR)/ - @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ - mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ - fi - - -package: package-release - -package-all: package-release package-debug - -install: build - @$(MAKE) -C $(BUILD_DIR) $(INSTALL_ARGS) install diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild deleted file mode 100755 index bbbc13e..0000000 --- a/autobuild/linux/autobuild +++ /dev/null @@ -1,110 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015 - 2018 "IoT.bzh" -# Copyright (C) 2020 Konsulko Group -# Author "Romain Forlot" -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -THISFILE := $(lastword $(MAKEFILE_LIST)) -ROOT_DIR := $(abspath $(dir $(THISFILE))/../..) - -# Build directories -# Note that the debug directory is defined in relation to the release -# directory (BUILD_DIR), this needs to be kept in mind if over-riding -# it and building that widget types, the specific widget type variable -# (e.g. BUILD_DIR_DEBUG) may also need to be specified to yield the -# desired output hierarchy. -BUILD_DIR = $(ROOT_DIR)/build -BUILD_DIR_DEBUG = $(abspath $(BUILD_DIR)/../build-debug) - -# Output directory variable for use in pattern rules. -# This is intended for internal use only, hence the explicit override -# definition. -override OUTPUT_DIR = $(BUILD_DIR) - -# Final install directory for widgets -DEST = $(OUTPUT_DIR) - -# Default build type for release builds -BUILD_TYPE = release - -.PHONY: all help update install distclean -.PHONY: clean clean-release clean-debug clean-all -.PHONY: configure configure-release configure-debug -.PHONY: build build-release build-debug build-all -.PHONY: package package-release package-debug package-all - -help: - @echo "List of targets available:" - @echo "" - @echo "- all" - @echo "- help" - @echo "- clean" - @echo "- distclean" - @echo "- configure" - @echo "- build: compilation, link and prepare files for package into a widget" - @echo "- package: output a widget file '*.wgt'" - @echo "- install: install in $(DEST) directory" - @echo "" - @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt" - @echo "Don't use your build dir as DEST as wgt file is generated at this location" - -all: package-all - -# Target specific variable over-rides so static pattern rules can be -# used for the various type-specific targets. - -configure-debug build-debug package-debug clean-debug: OUTPUT_DIR = $(BUILD_DIR_DEBUG) -configure-debug build-debug package-debug: BUILD_TYPE = debug - -clean-release clean-debug: - @if [ -d $(OUTPUT_DIR) ]; then \ - $(MAKE) -C $(OUTPUT_DIR) $(CLEAN_ARGS) clean; \ - else \ - echo Nothing to clean; \ - fi - -clean: clean-release - -clean-all: clean-release clean-debug - -distclean: clean-all - -configure-release configure-debug: - @mkdir -p $(OUTPUT_DIR) - @if [ ! -f $(OUTPUT_DIR)/Makefile ]; then \ - (cd $(OUTPUT_DIR) && qmake CONFIG+=$(BUILD_TYPE) $(CONFIGURE_ARGS) $(ROOT_DIR)); \ - fi - -configure: configure-release - -build-release build-debug: build-%: configure-% - @$(MAKE) -C $(OUTPUT_DIR) $(BUILD_ARGS) all - -build: build-release - -build-all: build-release build-debug - -package-release package-debug: package-%: build-% - @cp $(OUTPUT_DIR)/package/*.wgt $(OUTPUT_DIR)/ - @if [ "$(abspath $(DEST))" != "$(abspath $(OUTPUT_DIR))" ]; then \ - mkdir -p $(DEST) && cp $(OUTPUT_DIR)/*.wgt $(DEST); \ - fi - - -package: package-release - -package-all: package-release package-debug - -install: build - @$(MAKE) -C $(BUILD_DIR) $(INSTALL_ARGS) install diff --git a/package/config.xml b/package/config.xml deleted file mode 100644 index aa5c637..0000000 --- a/package/config.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - Settings - - - This is the settings application for date & time, wifi, wired and bluetooth - Tasuku Suzuki <tasuku.suzuki@qt.io> - APL 2.0 - - - - - - - - - - - - diff --git a/settings.pro b/settings.pro index 579a952..5cf7e78 100644 --- a/settings.pro +++ b/settings.pro @@ -1,3 +1,2 @@ TEMPLATE = subdirs -SUBDIRS = app package -package.depends += app +SUBDIRS = app -- cgit 1.2.3-korg