# DDL Library {#mainpage} # Description The Data Defintion Language (DDL) Package provides utilities to handle data descriptions and data defined by these descriptions. #include * [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
a_util_DIR must be set to *a_util_install*/lib/cmake/a_util See a_util repository at https://github.com/AEV
ddl_cmake_enable_documentation ON/OFF choose wether a documentation is created or not dependency to a valid doxygen executable needed (see http://www.doxygen.nl/)
ddl_cmake_enable_tests ON/OFF choose wether the tests where build while building the libraries or not dependency to a valid gtest package needed (see https://github.com/google/googletest)
ddl_cmake_enable_generator_tools ON/OFF choose wether the tools must be build too
ddl_cmake_enable_installation ON/OFF choose wether the tools must be build too