DDL Library {#mainpage}
Description
The Data Definition Language (DDL) Package provides utilities to handle data descriptions and data defined by these descriptions.
#include <ddl.h>
- DDL specification ([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 ([link](@ref page_oo_ddl))
ddlrepresentation/pkg_ddlrepresentation.h
Codec API
Access, decode and encode ddl described memory data.
-
See Codec Documentation ([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([link](@ref page_ddl_generators))
ddlgenerators/generatorlibrary ddlgenerators/ddl2header ddlgenerators/header2ddl
Mapping Functionality
Map data from one DDL structure to another
-
See Mapping specification([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 ([link](@ref page_migration_4_1))
License Information
This library is provided under MPL 2.0([link](@ref page_mpl)). Have also a look at doc/licence for all license information.
See also used licenses([link](@ref page_used_licenses)) for licenses of integrated libraries.
Change Log
For change history have a look at Change Log([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/a_util
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
Build a_util first
The DDL library will only build if a installation of a_util 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 tag \p "va_util-version"
- 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 relase tag \p "vddl-version".
- 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_DIR*/lib/cmake/a_util | See a_util repository at https://github.com/AEV/a_util |
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 libraries are installed or not |