summaryrefslogtreecommitdiffstats
path: root/agl-layers-overview.md
blob: 409eae529d3bd960d340b669b5947ae76c5ad724 (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
Overview
========

The
[AGL Project](https://www.automotivelinux.org/) is an automotive-specific
development environment that provides a Linux distribution
[(AGL UCB](https://www.automotivelinux.org/software/unified-code-base)).

AGL uses layers designed to be compatible with the
[Yocto Project](https://www.yoctoproject.org) and the
[OpenEmbedded Project (OE)](https://www.openembedded.org/wiki/Main_Page).

This section provides information about the layers used by the AGL Project:

* **`meta-agl`**: Minimal set of software needed to create an AGL distribution
  used to boot a system.
  AGL profiles are built on top of this minimal set of software.

* **`meta-agl-demo`**: Provides a reference or demo platform and applications
  for the AGL Distribution.
  The reference UI is part of the `meta-agl-demo` layer.

* **`meta-agl-devel`**: Contains components under development or being tested.
  This layer also contains software packages that OEMs need but do not exist
  in AGL.
#
# Copyright (c) 2017 TOYOTA MOTOR CORPORATION
#
# 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(simple-egl C CXX)

cmake_minimum_required(VERSION 3.0)

set(PROJECT_NAME "simple-egl")
set(PROJECT_VERSION "1.0")
set(PROJECT_PRETTY_NAME "SE")
set(PROJECT_DESCRIPTION "Sample application for homescreen and windowmanager")
set(PROJECT_URL "")
set(CMAKE_CXX_FLAGS "-Wall -fpermissive")

#source directory
aux_source_directory(src DIR_SRCS)

#head file path
include_directories(include)

#set extern libraries
SET(LIBRARIES
    libwindowmanager.so
    libEGL.so
    libGLESv2.so
    libm.so
    libwayland-egl.so
    libwayland-client.so
    libjson-c.so
    libhomescreen.so
    librt.so
    libpthread.so
)

#add executable file
add_executable(simple-egl ${DIR_SRCS})

#add link library
TARGET_LINK_LIBRARIES(simple-egl ${LIBRARIES})

add_custom_command(TARGET simple-egl POST_BUILD
    COMMAND cp -rf ${CMAKE_CURRENT_SOURCE_DIR}/package ${PROJECT_BINARY_DIR}
    COMMAND cp -rf ${PROJECT_BINARY_DIR}/simple-egl ${PROJECT_BINARY_DIR}/package/root/bin)

add_custom_target(widget DEPENDS ${PROJECT_BINARY_DIR}/package/root
    COMMAND wgtpkg-pack -f -o ${PROJECT_BINARY_DIR}/package/${PROJECT_NAME}.wgt ${PROJECT_BINARY_DIR}/package/root)

add_custom_target(hvac DEPENDS ${PROJECT_BINARY_DIR}/package/root
    COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/hvac/bin
    COMMAND cp -rf ${PROJECT_BINARY_DIR}/simple-egl ${PROJECT_BINARY_DIR}/package/hvac/bin/hvac
    COMMAND wgtpkg-pack -f -o ${PROJECT_BINARY_DIR}/package/hvac.wgt ${PROJECT_BINARY_DIR}/package/hvac)

add_custom_target(navi DEPENDS ${PROJECT_BINARY_DIR}/package/root
    COMMAND mkdir -p ${PROJECT_BINARY_DIR}/package/navi/bin
    COMMAND cp -rf ${PROJECT_BINARY_DIR}/simple-egl ${PROJECT_BINARY_DIR}/package/navi/bin/navi
    COMMAND wgtpkg-pack -f -o ${PROJECT_BINARY_DIR}/package/navi.wgt ${PROJECT_BINARY_DIR}/package/navi)