summaryrefslogtreecommitdiffstats
path: root/recipes-demo/flutter-cluster-dashboard/flutter-cluster-dashboard_git.bb
blob: 5e903312a481777319f9e81b98cb72cd6533da28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
SUMMARY = "Flutter Instrument Cluster "
DESCRIPTION = "An instrument cluster app written in dart for the flutter runtime"
AUTHOR = "Aakash Solanki"
HOMEPAGE = "https://github.com/aakash-s45/ic"

SECTION = "graphics"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=0c52b0e4b5f0dbf57ea7d44bebb2e29d"

SRC_URI = "git://github.com/aakash-s45/ic;protocol=https;branch=main \
    file://flutter-cluster-dashboard.service \
    file://ic_on_bg-debug.json \
    file://ic_on_bg-profile.json \
    file://ic_on_bg-release.json \
"

PV = "1.0+git${SRCPV}"
SRCREV = "32f72bb68142a0dbde9ccf28b27c445598c95112"

S = "${WORKDIR}/git"

PUBSPEC_APPNAME = "ic"

FLUTTER_APPLICATION_INSTALL_PREFIX = "/flutter"

inherit flutter-app

APP_CONFIG = "ic_on_bg-release.json"
APP_CONFIG:class-runtimedebug = "ic_on_bg-debug.json"
APP_CONFIG:class-runtimeprofile = "ic_on_bg-profile.json"

# To avoid conflicts with the systemd template scheme added via bbappend in
# meta-agl-demo, package the standalone systemd unit separately.  This is not
# needed when meta-agl-flutter is used without meta-agl-demo, but that is not
# going to be the default usecase for most users, so this still allows them to
# build working agl-image-flutter images in the same build tree.
#
# This can be dropped if/when flutter-gallery is no longer packaged as a demo
# in meta-agl-demo.

#SYSTEMD_SERVICE:${PN}-init = "flutter-cluster-dashboard.service"

do_install:append() {
    install -D -m 0644 ${WORKDIR}/flutter-cluster-dashboard.service ${D}${systemd_user_unitdir}/flutter-cluster-dashboard.service
    install -d ${D}${systemd_user_unitdir}/agl-session.target.wants
    ln -s ../flutter-cluster-dashboard.service ${D}${systemd_user_unitdir}/agl-session.target.wants/flutter-cluster-dashboard.service

    install -D -m 0644 ${WORKDIR}/${APP_CONFIG} ${D}${datadir}/flutter/default.json
}

PACKAGE_BEFORE_PN += "${PN}-init"

FILES:${PN} += "${datadir}"

FILES:${PN}-init = "${systemd_user_unitdir}"

RDEPENDS:${PN}-init = "${PN}"
s # -fdata-sections # -fPIC # CACHE STRING "Compilation flags") #set(C_COMPILE_OPTIONS "" CACHE STRING "Compilation flags for C language.") #set(CXX_COMPILE_OPTIONS "" CACHE STRING "Compilation flags for C++ language.") #set(PROFILING_COMPILE_OPTIONS # -g # -O0 # -pg # -Wp,-U_FORTIFY_SOURCE # CACHE STRING "Compilation flags for PROFILING build type.") #set(DEBUG_COMPILE_OPTIONS # -g # -ggdb # -Wp,-U_FORTIFY_SOURCE # CACHE STRING "Compilation flags for DEBUG build type.") #set(CCOV_COMPILE_OPTIONS # -g # -O2 # --coverage # CACHE STRING "Compilation flags for CCOV build type.") #set(RELEASE_COMPILE_OPTIONS # -g # -O2 # CACHE STRING "Compilation flags for RELEASE build type.") add_definitions(-DCTL_PLUGIN_MAGIC=7053042648) add_definitions(-DCONTROL_CONFIG_PATH="${CMAKE_SOURCE_DIR}/conf.d/project/etc:${CMAKE_BINARY_DIR}/package/etc:${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/etc") add_definitions(-DCONTROL_PLUGIN_PATH="${CMAKE_BINARY_DIR}/package/lib/plugins:${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/lib/plugins") add_definitions(-DCONTROL_LUA_PATH="${CMAKE_SOURCE_DIR}/conf.d/project/lua.d:${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}/var") add_definitions(-DAFB_BINDING_VERSION=3 -DAFB_BINDING_WANT_DYNAPI=1) # (BUG!!!) as PKG_CONFIG_PATH does not work [should be an env variable] # --------------------------------------------------------------------- set(CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}/lib64/pkgconfig ${CMAKE_INSTALL_PREFIX}/lib/pkgconfig) set(LD_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib64 ${CMAKE_INSTALL_PREFIX}/lib) # Optional location for config.xml.in # ----------------------------------- #set(WIDGET_ICON "\"conf.d/wgt/${PROJECT_ICON}\"" CACHE PATH "Path to the widget icon") set(WIDGET_CONFIG_TEMPLATE "${CMAKE_CURRENT_SOURCE_DIR}/conf.d/wgt/config.xml.in" CACHE PATH "Path to widget config file template (config.xml.in)") # Mandatory widget Mimetype specification of the main unit # -------------------------------------------------------------------------- # Choose between : #- text/html : HTML application, # content.src designates the home page of the application # #- application/vnd.agl.native : AGL compatible native, # content.src designates the relative path of the binary. # # - application/vnd.agl.service: AGL service, content.src is not used. # #- ***application/x-executable***: Native application, # content.src designates the relative path of the binary. # For such application, only security setup is made. # set(WIDGET_TYPE application/vnd.agl.service) # Mandatory Widget entry point file of the main unit # -------------------------------------------------------------- # This is the file that will be executed, loaded, # at launch time by the application framework. # #set(WIDGET_ENTRY_POINT lib/afb-4a-hal.so) # Optional dependencies order # --------------------------- #set(EXTRA_DEPENDENCIES_ORDER) # Optional Extra global include path # ----------------------------------- #set(EXTRA_INCLUDE_DIRS) # Optional extra libraries # ------------------------- #set(EXTRA_LINK_LIBRARIES) # Optional force binding Linking flag # ------------------------------------ # set(BINDINGS_LINK_FLAG LinkOptions ) # Optional force package prefix generation, like widget # ----------------------------------------------------- # set(PKG_PREFIX DestinationPath) # Optional Application Framework security token # and port use for remote debugging. #------------------------------------------------------------ set(AFB_TOKEN "" CACHE PATH "Default binder security token") set(AFB_REMPORT "1234" CACHE PATH "Default binder listening port") # Print a helper message when every thing is finished # ---------------------------------------------------- set(CLOSING_MESSAGE "Typical binding launch: afb-daemon --name=afb-4a --port=${AFB_REMPORT} --workdir=${CMAKE_BINARY_DIR}/package --ldpaths=lib --roothttp=htdocs --token=\"${AFB_TOKEN}\" --tracereq=common --verbose") set(PACKAGE_MESSAGE "Install widget file using in the target : afm-util install ${PROJECT_NAME}.wgt") # Optional schema validator about now only XML, LUA and JSON # are supported #------------------------------------------------------------ #set(LUA_CHECKER "luac" "-p" CACHE STRING "LUA compiler") #set(XML_CHECKER "xmllint" CACHE STRING "XML linter") #set(JSON_CHECKER "json_verify" CACHE STRING "JSON linter") # This include is mandatory and MUST happens at the end # of this file, else you expose you to unexpected behavior # # This CMake module could be found at the following url: # https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/cmake-apps-module # ----------------------------------------------------------- include(CMakeAfbTemplates)