summaryrefslogtreecommitdiffstats
path: root/src/CMakeLists.txt
blob: a016c14ac5df739120b777ed62ff1a577480b972 (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
###########################################################################
# Copyright 2015, 2016, 2017 IoT.bzh
#
# author: Fulup Ar Foll <fulup@iot.bzh>
# contrib: Romain Forlot <romain.forlot@iot.bzh>
#
# 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.
###########################################################################

# Add target to project dependency list
PROJECT_TARGET_ADD(harvester)

	# Define project Targets
	add_library(${TARGET_NAME} MODULE
		${TARGET_NAME}-binding.c
	)

	set(OPENAPI_DEF "harvester-apidef" CACHE STRING "name and path to the JSON API definition without extension")

	# Binder exposes a unique public entry point
	SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES
		PREFIX "afb-"
		LABELS "BINDINGV2"
		LINK_FLAGS ${BINDINGS_LINK_FLAG}
		OUTPUT_NAME ${TARGET_NAME}
	)

	# Library dependencies (include updates automatically)
	TARGET_LINK_LIBRARIES(${TARGET_NAME}
		afb-helpers
		ctl-utilities
		${link_libraries})

add_subdirectory("plugins")
"na">https://download.automotivelinux.org/AGL/snapshots/master/latest/m3ulcb-nogfx/deploy/sdk/) * [qemux86-64](https://download.automotivelinux.org/AGL/snapshots/master/latest/qemux86-64/deploy/sdk/) * [raspberrypi3](https://download.automotivelinux.org/AGL/snapshots/master/latest/raspberrypi3/deploy/sdk/) ## Using CMake Templates from BitBake Recipes If you have developed an application and you want to include it in an AGL image, you must add a BitBake recipe in one of the following layers: * [meta-agl](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl): meta-agl layer (core AGL) * [meta-agl-cluster-demo](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-cluster-demo): cluster demo specific recipes and configuration * [meta-agl-demo](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-demo): meta-agl-demo layer (demo/staging/"one-shot") * [meta-agl-devel](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-devel): meta-agl-devel (Development and Community BSPs) * [meta-agl-extra](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/AGL/meta-agl-extra): meta-agl-extra (additional/optional components for AGL) Once you have the recipe in place, edit it to include the following line to cause the `aglwgt` class to be inherited: ```bb inherit aglwgt ``` Following is an example that uses the HVAC application recipe (i.e. `hvac.bb`), which builds the HVAC application: ```bb SUMMARY = "HVAC Service Binding" DESCRIPTION = "AGL HVAC Service Binding" HOMEPAGE = "https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-hvac" SECTION = "apps" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=ae6497158920d9524cf208c09cc4c984" SRC_URI = "gitsm://gerrit.automotivelinux.org/gerrit/apps/agl-service-hvac;protocol=https;branch=${AGL_BRANCH}" SRCREV = "${AGL_APP_REVISION}" PV = "1.0+git${SRCPV}" S = "${WORKDIR}/git" DEPENDS = "json-c" RDEPENDS_${PN} += "agl-service-identity-agent" inherit cmake aglwgt pkgconfig ``` The following links provide more examples of recipes that use the CMake templates: * [helloworld-service](https://github.com/iotbzh/helloworld-service) * [agl-service-audio-4a](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-audio-4a) * [agl-service-unicens](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/apps/agl-service-unicens) * [4a-hal-unicens](https://gerrit.automotivelinux.org/gerrit/#/admin/projects/src/4a-hal-unicens)