Skip to content

Commit 171b0f5

Browse files
author
gki63fr
committed
All changes for v1.1.1
1 parent 26005e8 commit 171b0f5

731 files changed

Lines changed: 6348 additions & 298049 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.clang-format

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,15 @@ DerivePointerAlignment: false
5353
DisableFormat: false
5454
FixNamespaceComments: true
5555
IncludeBlocks: Regroup
56+
IncludeCategories:
57+
- Regex: '^".*'
58+
Priority: 1
59+
- Regex: '^<(a_util|rpc|ddl|ddl_capi)/'
60+
Priority: 2
61+
- Regex: '^<(3rdparty|gtest|pugixml.*|httplib|helper|jsonrpccpp|client|server)/'
62+
Priority: 3
63+
- Regex: '^<.*'
64+
Priority: 4
5665
IndentCaseLabels: false # conforming to CppCoreGuidelines examples
5766
IndentGotoLabels: true
5867
IndentPPDirectives: None

.gitattributes

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# Copyright @ 2021 VW Group. All rights reserved.
2+
#
3+
# This Source Code Form is subject to the terms of the Mozilla
4+
# Public License, v. 2.0. If a copy of the MPL was not distributed
5+
# with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
6+
#
7+
# If it is not possible or desirable to put the notice in a particular file, then
8+
# You may include the notice in a location (such as a LICENSE file in a
9+
# relevant directory) where a recipient would be likely to look for such a notice.
10+
#
11+
# You may add additional accurate notices of copyright ownership.
12+
113
* text=auto
214
* whitespace=space-before-tab,tab-in-indent,trailing-space
315

.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,17 @@
1+
# Copyright @ 2021 VW Group. All rights reserved.
2+
#
3+
# This Source Code Form is subject to the terms of the Mozilla
4+
# Public License, v. 2.0. If a copy of the MPL was not distributed
5+
# with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
6+
#
7+
# If it is not possible or desirable to put the notice in a particular file, then
8+
# You may include the notice in a location (such as a LICENSE file in a
9+
# relevant directory) where a recipient would be likely to look for such a notice.
10+
#
11+
# You may add additional accurate notices of copyright ownership.
12+
13+
.vs
14+
.vscode
115
.project
216
.pydevproject
17+
build

CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,19 @@
1313
################################ Options and general project setup ################################
1414
cmake_minimum_required(VERSION 3.17.0) # cxx_std_11
1515

16+
cmake_policy(SET CMP0048 NEW)
17+
1618
# Start project() now, since any include checks will use the correct compiler flags
17-
project(dev_essential VERSION 1.0.0)
19+
file(STRINGS version VERSION LIMIT_COUNT 1)
20+
project(dev_essential VERSION ${VERSION})
1821

1922
# Disable extensions here and require the chosen CMAKE_CXX_STANDARD
2023
set(CMAKE_CXX_EXTENSIONS OFF)
2124
set(CMAKE_CXX_STANDARD_REQUIRED ON)
22-
set(CMAKE_CXX_STANDARD 14)
25+
# minimum is currently C++14, but default is C++17
26+
if (NOT DEFINED CMAKE_CXX_STANDARD)
27+
set(CMAKE_CXX_STANDARD 17)
28+
endif()
2329

2430
# if Conan is used, we have to include the generated file and doing some basic setup
2531
if(CONAN_COMPILER)
@@ -40,7 +46,6 @@ if(CONAN_COMPILER)
4046
else()
4147
conan_basic_setup(TARGETS NO_OUTPUT_DIRS)
4248
endif()
43-
set(gtest_search_mode CONFIG)
4449
endif(CONAN_COMPILER)
4550

4651
set(dev_essential_cmake_include_components "." CACHE STRING "List of components to build, separated\
@@ -58,6 +63,9 @@ include(scripts/cmake/enable_multicore_compilation.cmake)
5863
# Use integrated debug symbols on Windows (avoiding PDBs)
5964
include(scripts/cmake/use_integrated_debug_symbols.cmake)
6065

66+
# set default symbol visibility for compilers supporting it
67+
include(scripts/cmake/set_symbol_visibilty.cmake)
68+
6169
if("${dev_essential_cmake_include_components}" STREQUAL ".")
6270
add_subdirectory(extern/3rdparty/clara)
6371
endif()
@@ -87,6 +95,7 @@ if(dev_essential_cmake_enable_integrated_tests)
8795
include(scripts/cmake/stub_generation.cmake)
8896
add_subdirectory(test/function)
8997
endif (NOT GTest_FOUND)
98+
add_subdirectory(test/sca)
9099
endif(dev_essential_cmake_enable_integrated_tests)
91100

92101
# License Information must be delivered anyway!

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<!---
22
Copyright @ 2021 VW Group. All rights reserved.
3-
3+
44
This Source Code Form is subject to the terms of the Mozilla
55
Public License, v. 2.0. If a copy of the MPL was not distributed
66
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
7-
7+
88
If it is not possible or desirable to put the notice in a particular file, then
99
You may include the notice in a location (such as a LICENSE file in a
1010
relevant directory) where a recipient would be likely to look for such a notice.
11-
11+
1212
You may add additional accurate notices of copyright ownership.
1313
-->
1414
# Dev essential
@@ -19,6 +19,7 @@ The dev_essential project is the successor of the following projects:
1919
* Utility library aka [a_util](a_util.md)
2020
* Package Remote Procedure Call aka [pkg_rpc](rpc.md)
2121
* Data Definition Language Library aka [ddl](ddl.md)
22+
* DDL C Application Programming Interface aka [ddl_capi](ddl_capi.md)
2223
* ...
2324

2425
The dev_essential project strives for backwards compatibility with the latest versions of these
@@ -29,6 +30,7 @@ projects. The following table provides an overview of the versions and the compa
2930
| a_util v5.8.x | dev_essential 1.0.0 |
3031
| pkg_rpc 3.5.x | dev_essential 1.0.0 |
3132
| ddl 4.6.x | dev_essential 1.0.0 |
33+
| ddl_capi | dev_essential 1.1.0 |
3234

3335
However, for downstream projects already using one of the aforementioned projects and porting to the
3436
dev_essential project, the [portation guide](#portation-guide) shall be consulted.
@@ -57,12 +59,19 @@ Table of contents:
5759
**dev_essential_cmake_enable_integrated_tests (default: OFF)**
5860
* Enable tests as integrated build - requires googletest
5961

62+
**dev_essential_cmake_enable_self_contained_header_tests (default: ON)**
63+
* Whether or not to enable tests checking for self contained header files
64+
* Requires `dev_essential_cmake_enable_integrated_tests=ON`
65+
6066
**dev_essential_cmake_enable_position_independent_code (Default: ON)**
6167
* Enable position independent code for static libraries
6268

6369
**dev_essential_cmake_enable_result_header_only (default: OFF)**
6470
* Whether or not to build header only version of dev_essential_result library
6571

72+
**dev_essential_cmake_enable_visibility_hidden (default: ON)**
73+
* If ON, set visibility of target symbols to hidden, otherwise use the default visibility
74+
6675
**dev_essential_cmake_enable_warn_on_default_cmake_install_prefix (Default: ON)**
6776
* Warn if `CMAKE_INSTALL_PREFIX` is set to default
6877

@@ -197,16 +206,14 @@ The changelog can be found [here](doc/extern/changelog.md).
197206
## License Information <a name="license-information"></a>
198207
### Dev essential libraries - License
199208
The dev essential libraries are delivered under the
200-
[MPL - Mozilla Public License - Version 2.0](LICENSE).
209+
[MPL - Mozilla Public License - Version 2.0](doc/extern/license/MPL2.0.txt).
201210

202211
### Used software license information
203212
The dev essential libraries are delivered with the following 3rdparty dependencies:
204213
- [Clara 1.1.2](https://github.com/catchorg/Clara/tree/v1.1.2)
205214
([License](extern/3rdparty/clara/Clara-1.1.2/LICENSE.txt))
206215
- [current_function of Boost 1.64.0](http://www.boost.org/doc/libs/1_64_0/boost/current_function.hpp)
207216
([License](extern/3rdparty/boost/boost_1_64_0/boost/current_function.hpp))
208-
- [PCRE 8.39](https://sourceforge.net/projects/pcre/files/pcre/8.39/)
209-
([License](extern/3rdparty/pcre/pcre-8.39/LICENCE))
210217
- [pugixml 1.8](https://github.com/zeux/pugixml/tree/v1.8)
211218
([License](extern/3rdparty/pugixml/pugixml-1.8/readme.txt))
212219
- [uuid 1.6.2](http://www.ossp.org/pkg/lib/uuid/)

a_util.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<!---
22
Copyright @ 2021 VW Group. All rights reserved.
3-
3+
44
This Source Code Form is subject to the terms of the Mozilla
55
Public License, v. 2.0. If a copy of the MPL was not distributed
66
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
7-
7+
88
If it is not possible or desirable to put the notice in a particular file, then
99
You may include the notice in a location (such as a LICENSE file in a
1010
relevant directory) where a recipient would be likely to look for such a notice.
11-
11+
1212
You may add additional accurate notices of copyright ownership.
1313
-->
1414

ddl.md

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<!---
22
Copyright @ 2021 VW Group. All rights reserved.
3-
3+
44
This Source Code Form is subject to the terms of the Mozilla
55
Public License, v. 2.0. If a copy of the MPL was not distributed
66
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
7-
7+
88
If it is not possible or desirable to put the notice in a particular file, then
99
You may include the notice in a location (such as a LICENSE file in a
1010
relevant directory) where a recipient would be likely to look for such a notice.
11-
11+
1212
You may add additional accurate notices of copyright ownership.
1313
-->
1414

@@ -52,16 +52,6 @@ Access, decode and encode ddl described memory data.
5252
ddl/codec/pkg_codec.h
5353

5454

55-
## DDL-2-header and header-2-DDL generation
56-
57-
Generating a c-header file from DDL and vice versa.
58-
59-
* See [DDL Generators](doc/extern/ddl/ddl_generators.md)
60-
61-
ddl/ddlgenerators/generatorlibrary
62-
ddl/ddlgenerators/ddl2header
63-
ddl/ddlgenerators/header2ddl
64-
6555
## Mapping Functionality
6656

6757
Map data from one DDL structure to another

ddl_capi.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!---
2+
Copyright @ 2021 VW Group. All rights reserved.
3+
4+
This Source Code Form is subject to the terms of the Mozilla
5+
Public License, v. 2.0. If a copy of the MPL was not distributed
6+
with this file, You can obtain one at https://mozilla.org/MPL/2.0/.
7+
8+
If it is not possible or desirable to put the notice in a particular file, then
9+
You may include the notice in a location (such as a LICENSE file in a
10+
relevant directory) where a recipient would be likely to look for such a notice.
11+
12+
You may add additional accurate notices of copyright ownership.
13+
-->
14+
15+
# FEP Interface C DLL
16+
17+
TODO: To be filled with information.

doc/CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,17 @@
1212

1313
##installation of documentation related files
1414
install(FILES extern/changelog.md DESTINATION doc)
15-
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_PREFIX})
15+
install(FILES extern/license/MPL2.0.txt DESTINATION ${CMAKE_INSTALL_PREFIX})
16+
install(DIRECTORY extern/license DESTINATION doc)
17+
18+
# check for valid version string
19+
string(REGEX MATCH "^[0-9]+\.[0-9]+\.[0-9]+$" VER ${VERSION})
20+
if(NOT VER)
21+
message(FATAL_ERROR "${VERSION} is not a valid semver espression for version")
22+
endif()
23+
24+
# check for valid entry in doxyfile
25+
file(STRINGS extern/Doxyfile RES REGEX "^PROJECT_NUMBER += v${VER}$")
26+
if(NOT RES)
27+
message(FATAL_ERROR "Doxyfile does not contain the current version ${VER}")
28+
endif()

doc/extern/Doxyfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
# Project related configuration options
1818
#---------------------------------------------------------------------------
1919
PROJECT_NAME = dev_essential
20-
PROJECT_NUMBER = v1.0.0
20+
PROJECT_NUMBER = v1.1.1
2121
PROJECT_BRIEF = "Documentation for essential C++ libraries and interfaces"
2222
OUTPUT_DIRECTORY =
2323
STRIP_FROM_PATH = include/
@@ -48,7 +48,7 @@ WARN_AS_ERROR = YES
4848
#---------------------------------------------------------------------------
4949
# Configuration options related to the input files
5050
#---------------------------------------------------------------------------
51-
INPUT = include doc/extern README.md a_util.md rpc.md ddl.md
51+
INPUT = include doc/extern README.md a_util.md rpc.md ddl.md ddl_capi.md
5252
FILE_PATTERNS = *.h *.md *.dox
5353
RECURSIVE = YES
5454
EXCLUDE_PATTERNS = *_impl.h

0 commit comments

Comments
 (0)