summaryrefslogtreecommitdiffstats
path: root/low-can-binding/CMakeLists.txt
blob: 5c0ef07e6683587c23ea0f055e8c272113e0ecbc (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
###########################################################################
# 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(low-can)

	# Define project Targets
	set (SOURCES
		#binding/${TARGET_NAME}-hat.cpp
		binding/${TARGET_NAME}-cb.cpp
		binding/${TARGET_NAME}-subscription.cpp
		binding/application.cpp
		can/can-bus.cpp
		can/can-message-set.cpp
		can/can-message-definition.cpp
		can/message/message.cpp
		can/message/can-message.cpp
		can/can-signals.cpp
		can/can-decoder.cpp
		can/can-encoder.cpp
		diagnostic/diagnostic-message.cpp
		diagnostic/diagnostic-manager.cpp
		diagnostic/active-diagnostic-request.cpp
		utils/signals.cpp
		utils/openxc-utils.cpp
		utils/timer.cpp
		utils/socketcan.cpp
		#utils/socketcan-raw.cpp
		utils/socketcan-bcm.cpp
		utils/config-parser.cpp
		binding/application-generated.cpp
		)

	if(WITH_FEATURE_J1939)
		set(SOURCES_J1939
			can/message/j1939-message.cpp
			utils/socketcan-j1939.cpp
		)
	endif()

	add_library(${TARGET_NAME} MODULE ${SOURCES} ${SOURCES_J1939})

	set(OPENAPI_DEF "binding/low-can-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 "BINDINGV3"
		LINK_FLAGS ${BINDINGS_LINK_FLAG}
		OUTPUT_NAME ${TARGET_NAME}
	)

	# Library dependencies (include updates automatically)
	TARGET_LINK_LIBRARIES(${TARGET_NAME}
		ini-config
		openxc-message-format
		uds-c
		isotp-c
		bitfield-c
		afb-helpers
		${link_libraries})
s="k"> > URI: git://git.yoctoproject.org/poky > branch : jethro > tested revision: 40376446904ae3529be41737fed9a0b650ed167d * meta-openembedded > URI: git://git.openembedded.org/meta-openembedded > layer : meta-openembedded > branch : jethro > tested revision: 8ab04afbffb4bc5184cfe0655049de6f44269990 Specifically out of meta-openembedded these sub-layers are used: * meta-openembedded/meta-oe * meta-openembedded/meta-multimedia * meta-openembedded/meta-networking * meta-openembedded/meta-python ## Layers There are 5 layers in top-level `meta-agl`. * `meta-agl/meta-ivi-common`\ `meta-ivi-common` is a layer which contains common packages to AGL Distribution and other platforms for In-Vehicle Infotainment system. * `meta-agl/meta-agl`\ `meta-agl` is a layer which contains AGL common and middleware packages. * `meta-agl/meta-agl-bsp`\ `meta-agl-bsp` is a layer which contains required packages to boot AGL distribution on an emulated machine(QEMU). * `meta-agl/meta-netboot`\ `meta-netboot` contains the netboot initrd support recipes. This is needed in case of booting over the network as NFS does not support the securitylabels. ## Packagegroups AGL package group design: * packagegroup-agl-image-minimal packagegroup-agl-core-automotive.bb packagegroup-agl-core-connectivity.bb packagegroup-agl-core-graphics.bb packagegroup-agl-core-kernel.bb packagegroup-agl-core-multimedia.bb packagegroup-agl-core-navi-lbs.bb packagegroup-agl-core-os-commonlibs.bb packagegroup-agl-core-security.bb packagegroup-agl-core-speech-services.bb These are for making image ``agl-image-minimal`` which is small image just capable of allowing a device to boot. Subsystem should maintain packagegroup-agl-core-[subsystem].bb which should hold sufficient packages to build ``agl-image-minimal``. * packagegroup-agl-image-ivi packagegroup-agl-ivi-automotive.bb packagegroup-agl-ivi-connectivity.bb packagegroup-agl-ivi-graphics.bb packagegroup-agl-ivi-kernel.bb packagegroup-agl-ivi-multimedia.bb packagegroup-agl-ivi-navi-lbs.bb packagegroup-agl-ivi-os-commonlibs.bb packagegroup-agl-ivi-security.bb packagegroup-agl-ivi-speech-services.bb These are for making image ``agl-image-ivi`` which is baseline for the profiles of AGL distro. 'Baseline' means Service Layer and Operating System Layer defined in AGL Spec v1.0. * packagegroup-agl-test.bb Additional tools used in QA tests (for agl-image*-qa). * packagegroup-ivi-common* packagegroup-ivi-common-core-automotive.bb packagegroup-ivi-common-core.bb packagegroup-ivi-common-core-connectivity.bb packagegroup-ivi-common-core-graphics.bb packagegroup-ivi-common-core-kernel.bb packagegroup-ivi-common-core-multimedia.bb packagegroup-ivi-common-core-navi-lbs.bb packagegroup-ivi-common-core-os-commonlibs.bb packagegroup-ivi-common-core-security.bb packagegroup-ivi-common-core-speech-services.bb packagegroup-ivi-common-test.bb These are for picking up some packages from upstreams like GENIVI/Tizen/Others. The layer of ``meta-ivi-common`` has no image to build, all packagegroups are aggregated to ``packagegroup-ivi-common-core' and it is included by images, ``agl-image-ivi.bb`` and ``agl-demo-platform.bb``. ## Supported Machines See [docs.automotivelinux.org](http://docs.automotivelinux.org)