From 06810868c74ddea6e336fd8f44692a975c628eba Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Mon, 19 Sep 2022 17:46:22 -0400 Subject: Add meson.build files Add meson configuration missed in previous commit. Bug-AGL: SPEC-4559 Signed-off-by: Scott Murray Change-Id: Idbcd961ab91cf48e7dc3b841aee3a79d0b615dcd (cherry picked from commit 5bf2b9d30ccea0f5468b22abedbe1629691eab15) --- bluetooth/meson.build | 29 ++++++++++++++++++++++++++ hvac/meson.build | 22 ++++++++++++++++++++ map/meson.build | 22 ++++++++++++++++++++ mediaplayer/meson.build | 36 ++++++++++++++++++++++++++++++++ meson.build | 50 +++++++++++++++++++++++++++++++++++++++++++++ navigation/meson.build | 22 ++++++++++++++++++++ network/meson.build | 43 ++++++++++++++++++++++++++++++++++++++ pbap/meson.build | 22 ++++++++++++++++++++ radio/meson.build | 22 ++++++++++++++++++++ telephony/meson.build | 22 ++++++++++++++++++++ vehicle-signals/meson.build | 27 ++++++++++++++++++++++++ weather/meson.build | 22 ++++++++++++++++++++ 12 files changed, 339 insertions(+) create mode 100644 bluetooth/meson.build create mode 100644 hvac/meson.build create mode 100644 map/meson.build create mode 100644 mediaplayer/meson.build create mode 100644 meson.build create mode 100644 navigation/meson.build create mode 100644 network/meson.build create mode 100644 pbap/meson.build create mode 100644 radio/meson.build create mode 100644 telephony/meson.build create mode 100644 vehicle-signals/meson.build create mode 100644 weather/meson.build diff --git a/bluetooth/meson.build b/bluetooth/meson.build new file mode 100644 index 0000000..008fda1 --- /dev/null +++ b/bluetooth/meson.build @@ -0,0 +1,29 @@ +qt5_dep = dependency('qt5', modules: ['Core', 'Qml']) + +glib_dep = [dependency('glib-2.0'), dependency('gio-2.0'), dependency('gobject-2.0'), dependency('gio-unix-2.0')] +bluez_glib_dep = dependency('bluez-glib') + +moc_files = qt5.compile_moc(headers : ['bluetooth.h', 'bluetoothmodel.h'], + dependencies: qt5_dep) + +src = ['bluetooth.cpp', 'bluetoothmodel.cpp', 'bluetootheventhandler.cpp', moc_files] +lib = shared_library('qtappfw-bt', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: [qt5_dep, glib_dep, bluez_glib_dep], + install: true) + +install_headers('bluetooth.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-bt', + filebase : 'qtappfw-bt', + requires: 'Qt5Qml', + description : 'AGL Qt demo app framework helper library for using BlueZ.') + +qtappfw_bt_dep = declare_dependency(link_with: lib, + include_directories: '.', + sources: ['bluetooth.h']) diff --git a/hvac/meson.build b/hvac/meson.build new file mode 100644 index 0000000..ce3679c --- /dev/null +++ b/hvac/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers: 'hvac.h', + dependencies: qt5_dep) + +src = ['hvac.cpp', moc_files] +lib = shared_library('qtappfw-hvac', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: [qt5_dep, qtappfw_vs_dep], + install: true) + +install_headers('hvac.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-hvac', + filebase : 'qtappfw-hvac', + requires: 'Qt5Qml', + description : 'AGL Qt demo app framework helper library for using HVAC.') diff --git a/map/meson.build b/map/meson.build new file mode 100644 index 0000000..1f563e6 --- /dev/null +++ b/map/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers : 'map.h', + dependencies: qt5_dep) + +src = ['map.cpp', moc_files] +lib = shared_library('qtappfw-bt-map', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: [qt5_dep, qtappfw_bt_dep], + install: true) + +install_headers('map.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-bt-map', + filebase : 'qtappfw-bt-map', + requires: 'Qt5Qml', + description : 'Library wrapping AGL Bluetooth MAP profile API in Qt objects') diff --git a/mediaplayer/meson.build b/mediaplayer/meson.build new file mode 100644 index 0000000..ff2db0a --- /dev/null +++ b/mediaplayer/meson.build @@ -0,0 +1,36 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +mpdclient_dep = dependency('libmpdclient') + +mediaplayer_headers = [ 'MediaplayerBackend.h', + 'MediaplayerBluezBackend.h', + 'MediaplayerMpdBackend.h', + 'MpdEventHandler.h', + 'mediaplayer.h' +] +moc_files = qt5.compile_moc(headers: mediaplayer_headers, + dependencies: qt5_dep) + +src = [ 'MediaplayerBackend.cpp', + 'MediaplayerBluezBackend.cpp', + 'MediaplayerMpdBackend.cpp', + 'MpdEventHandler.cpp', + 'mediaplayer.cpp', + moc_files +] +lib = shared_library('qtappfw-mediaplayer', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: [qt5_dep, mpdclient_dep, qtappfw_bt_dep, qtappfw_vs_dep], + install: true) + +install_headers('mediaplayer.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries: lib, + version: '1.0', + name: 'libqtappfw-mediaplayer', + filebase: 'qtappfw-mediaplayer', + requires: 'Qt5Qml', + description: 'Library wrapping AGL mediaplayer API in Qt objects') diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..df905f6 --- /dev/null +++ b/meson.build @@ -0,0 +1,50 @@ +# +# Copyright (C) 2022 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. +# + +project ( + 'libqtappfw', + ['cpp'], + version : '1.0.0', + license : 'Apache-2.0', + meson_version : '>= 0.46.0', + default_options : + [ + 'warning_level=1', + 'buildtype=debugoptimized', + 'c_std=c17', + 'cpp_std=c++17' + ], +) + +qt5 = import('qt5') + +#subdir('docs') + +# These need to be first as they declare dependencies for use in some +# of the other libraries +subdir('bluetooth') +subdir('vehicle-signals') + +subdir('applauncher') +subdir('hvac') +subdir('map') +subdir('mediaplayer') +subdir('navigation') +subdir('network') +subdir('pbap') +subdir('radio') +subdir('telephony') +subdir('weather') diff --git a/navigation/meson.build b/navigation/meson.build new file mode 100644 index 0000000..9b8e3ea --- /dev/null +++ b/navigation/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers: 'navigation.h', + dependencies: qt5_dep) + +src = ['navigation.cpp', moc_files] +lib = shared_library('qtappfw-navigation', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: [qt5_dep, qtappfw_vs_dep], + install: true) + +install_headers('navigation.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-navigation', + filebase : 'qtappfw-navigation', + requires: 'Qt5Qml', + description : 'Library wrapping AGL navigation API in Qt objects') diff --git a/network/meson.build b/network/meson.build new file mode 100644 index 0000000..d60369d --- /dev/null +++ b/network/meson.build @@ -0,0 +1,43 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +glib_dep = [dependency('glib-2.0'), dependency('gio-2.0'), dependency('gobject-2.0'), dependency('gio-unix-2.0')] +connman_glib_dep = dependency('connman-glib') + +network_headers = [ 'abstractnetworkmodel.h', + 'network.h', + 'networkadapter.h', + 'networkeventhandler.h', + 'wifiadapter.h', + 'wifinetworkmodel.h', + 'wiredadapter.h', + 'wirednetworkmodel.h' +] +moc_files = qt5.compile_moc(headers: network_headers, + dependencies: qt5_dep) + +src = [ 'network.cpp', + 'networkeventhandler.cpp', + 'wifiadapter.cpp', + 'wiredadapter.cpp', + 'wifinetworkmodel.cpp', + 'wirednetworkmodel.cpp', + 'abstractnetworkmodel.cpp', + 'connectionprofile.cpp', + moc_files, +] +lib = shared_library('qtappfw-network', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: [qt5_dep, glib_dep, connman_glib_dep], + install: true) + +install_headers(['network.h', 'networkadapter.h', 'wifiadapter.h', 'wiredadapter.h']) + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-network', + filebase : 'qtappfw-network', + requires: 'Qt5Qml', + description : 'Library wrapping AGL network API in Qt objects') diff --git a/pbap/meson.build b/pbap/meson.build new file mode 100644 index 0000000..7e2d1fb --- /dev/null +++ b/pbap/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers : 'pbap.h', + dependencies: qt5_dep) + +src = ['pbap.cpp', moc_files] +lib = shared_library('qtappfw-bt-pbap', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: qt5_dep, + install: true) + +install_headers('pbap.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-bt-pbap', + filebase : 'qtappfw-bt-pbap', + requires: 'Qt5Qml', + description : 'Library wrapping AGL Bluetooth PBAP profile API in Qt objects') diff --git a/radio/meson.build b/radio/meson.build new file mode 100644 index 0000000..c8218a3 --- /dev/null +++ b/radio/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers: 'radio.h', + dependencies: qt5_dep) + +src = ['radio.cpp', moc_files] +lib = shared_library('qtappfw-radio', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: qt5_dep, + install: true) + +install_headers('radio.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-radio', + filebase : 'qtappfw-radio', + requires: 'Qt5Qml', + description : 'Library wrapping AGL radio API in Qt objects') diff --git a/telephony/meson.build b/telephony/meson.build new file mode 100644 index 0000000..934d70c --- /dev/null +++ b/telephony/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers: 'telephony.h', + dependencies: qt5_dep) + +src = ['telephony.cpp', moc_files] +lib = shared_library('qtappfw-phone', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: qt5_dep, + install: true) + +install_headers('telephony.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-phone', + filebase : 'qtappfw-phone', + requires: 'Qt5Qml', + description : 'Library wrapping AGL telephony API in Qt objects') diff --git a/vehicle-signals/meson.build b/vehicle-signals/meson.build new file mode 100644 index 0000000..e4c6dc0 --- /dev/null +++ b/vehicle-signals/meson.build @@ -0,0 +1,27 @@ +qt5_dep = dependency('qt5', modules: ['Core', 'WebSockets']) + +moc_files = qt5.compile_moc(headers: 'vehiclesignals.h', + dependencies: qt5_dep) + +src = ['vehiclesignals.cpp', moc_files] +lib = shared_library('qtappfw-vehicle-signals', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: qt5_dep, + install: true) + +install_headers('vehiclesignals.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries: lib, + version: '1.0', + name: 'libqtappfw-vehicle-signals', + filebase: 'qtappfw-vehicle-signals', + requires: ['Qt5Core', 'Qt5WebSockets'], + description: 'Library wrapping VIS vehicle signaling API in Qt objects') + +qtappfw_vs_dep = declare_dependency(dependencies: qt5_dep, + link_with: lib, + include_directories: '.', + sources: ['vehiclesignals.h']) diff --git a/weather/meson.build b/weather/meson.build new file mode 100644 index 0000000..116975b --- /dev/null +++ b/weather/meson.build @@ -0,0 +1,22 @@ +qt5_dep = dependency('qt5', modules: ['Qml']) + +moc_files = qt5.compile_moc(headers: 'weather.h', + dependencies: qt5_dep) + +src = ['weather.cpp', moc_files] +lib = shared_library('qtappfw-weather', + sources: src, + version: '1.0.0', + soversion: '0', + dependencies: qt5_dep, + install: true) + +install_headers('weather.h') + +pkg_mod = import('pkgconfig') +pkg_mod.generate(libraries : lib, + version : '1.0', + name : 'libqtappfw-weather', + filebase : 'qtappfw-weather', + requires: 'Qt5Qml', + description : 'Library wrapping AGL weather API in Qt objects') -- cgit 1.2.3-korg