ddl/README.md

198 lines
4.4 KiB
Markdown
Raw Normal View History

2019-12-12 13:41:47 +00:00
# DDL Library {#mainpage}
# Description
The Data Defintion Language (DDL) Package provides utilities to handle data descriptions and data defined by these descriptions.
#include <ddl.h>
* [DDL specification](doc/input/ddl_specification.md) ([link](@ref page_ddl_specification))
_____________________
# DDL Library Parts
This library contains following internal parts:
## OO DDL
A Memory Model for the DDL Language.
* See [OO DDL Documentation](doc/input/oo-ddl.md) ([link](@ref page_oo_ddl))
ddlrepresentation/pkg_ddlrepresentation.h
## Codec API
Access, decode and encode ddl described memory data.
* See [Codec Documentation](doc/input/codec.md) ([link](@ref page_codec))
codec/pkg_codec.h
## DDL-2-header and header-2-DDL generation
Generating a c-header file from DDL and vice versa.
* See [DDL Generators](doc/input/ddl_generators.md)([link](@ref page_ddl_generators))
ddlgenerators/generatorlibrary
ddlgenerators/ddl2header
ddlgenerators/header2ddl
## Mapping Functionality
Map data from one DDL structure to another
* See [Mapping specification](doc/input/mapping_specification.md)([link](@ref page_signal_mapping_spec))
mapping/pkg_mapping.h
## DDL 4.1 migration process
DDL version 4.1.0 introduced an updated coding style which led to changes in all APIs.
* A migration guide is available at [Migration to 4.1](doc/input/migration_4_1.md) ([link](@ref page_migration_4_1))
________________________
# License Information
This library is provided under [MPL 2.0](doc/input/mpl.md)([link](@ref page_mpl)).
Have also a look at doc/licence for all license information.
See also [used licenses](doc/input/used_licenses.md)([link](@ref page_used_licenses)) for licenses of integrated libraries.
________________________
# Change Log
For change history have a look at [Change Log](doc/changelog.md)([link](@ref page_changelog))
________________________
# Dependencies
## a_util library
The libraries above depend on the *a_util library*
See a_util repository at https://github.com/AEV
## How to build
### Build Environment
The libraries are build and tested only under following compilers and operating systems:
#### Windows 7 64 Bit
* Visual Studio C++ 2015 Update 3.1 (Update 3 and KB3165756)
#### Linux Ubuntu 16.04 LTS
* On other distributions make at least sure that libc has version >= 2.23 and libstdc++ >= 6.0.21.
* gcc 5.4
### How to build
If you can not reach the above online repositories the bundle of it is delivered within a separate download area or installation.
See [Delivered repository versions](@ref page_delivered_versions).
#### Build a_util first
The ADTF File Library will only build if a installation of a_utils library is provided.
Following libraries of the a_utils are necessary:
* a_util_concurrency
* a_util_memory
* a_util_regex
* a_util_strings
* a_util_datetime
* a_util_filesystem
* a_util_xml
- Use CMAKE at least in version 3.5.1.
- Use the Release Branch \p "Release/a_util-version-branch" see [Delivered repository versions](@ref page_delivered_versions)
- Use CMakeLists.txt within the main directory as Source Directory
- Do not forget to set a CMAKE_INSTALL_PREFIX
- Build and install for Debug and Release
#### Build ddl library
- Use CMAKE at least in version 3.5.1.
- Use the Release Branch \p "Release/ddl-version-branch". see [Delivered repository versions](@ref page_delivered_versions)
- Use CMakeLists.txt within the main directory as Source Directory
- Do not forget to set a CMAKE_INSTALL_PREFIX
- Build and install for Debug and Release
##### Cmake options and dependencies
<table>
<tr>
<td>
a_util_DIR
</td>
<td>
must be set to *a_util_install*/lib/cmake/a_util
</td>
<td>
See a_util repository at https://github.com/AEV
</td>
</tr>
<tr>
<td>
ddl_cmake_enable_documentation ON/OFF
</td>
<td>
choose wether a documentation is created or not
</td>
<td>
dependency to a valid doxygen executable needed (see http://www.doxygen.nl/)
</td>
</tr>
<tr>
<td>
ddl_cmake_enable_tests ON/OFF
</td>
<td>
choose wether the tests where build while building the libraries or not
</td>
<td>
dependency to a valid gtest package needed (see https://github.com/google/googletest)
</td>
</tr>
<tr>
<td>
ddl_cmake_enable_generator_tools ON/OFF
</td>
<td>
choose wether the tools must be build too
</td>
<td>
</td>
</tr>
<tr>
<td>
ddl_cmake_enable_installation ON/OFF
</td>
<td>
choose wether the tools must be build too
</td>
<td>
</td>
</tr>
</table>