initial commit for github

This commit is contained in:
Pierre 2019-12-12 14:41:47 +01:00
commit 60968612de
370 changed files with 68427 additions and 0 deletions

View file

@ -0,0 +1,12 @@
## Check build type and terminate cmake if none is given
if(UNIX)
if(NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";Debug;" AND
NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";Release;" AND
NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";RelWithDebInfo;" AND
NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";MinSizeRel;")
message(FATAL_ERROR "'CMAKE_BUILD_TYPE' is either empty or set to an unknown build type")
endif(NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";Debug;" AND
NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";Release;" AND
NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";RelWithDebInfo;" AND
NOT ";${CMAKE_BUILD_TYPE};" STREQUAL ";MinSizeRel;")
endif(UNIX)

View file

@ -0,0 +1,20 @@
## This must always be the first check when running cmake
set(CURRENT_OPTION "ddl_cmake_enable_warn_on_default_cmake_install_prefix")
option(${CURRENT_OPTION} "Warn if 'CMAKE_INSTALL_PREFIX is set to default (default: ON)" ON)
if(${CURRENT_OPTION})
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR
";${util_cmake_CMAKE_DEFAULT_INSTALL_PREFIX};" STREQUAL ";${CMAKE_INSTALL_PREFIX};")
message(WARNING "'CMAKE_INSTALL_PREFIX' is currently set to the default value. Suppress \
this check by disabling '${CURRENT_OPTION}'")
## Enable warning for more than just the first run of cmake
set(util_cmake_CMAKE_DEFAULT_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE INTERNAL "")
else()
unset(util_cmake_CMAKE_DEFAULT_INSTALL_PREFIX)
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR
";${util_cmake_CMAKE_DEFAULT_INSTALL_PREFIX};" STREQUAL ";${CMAKE_INSTALL_PREFIX};")
endif(${CURRENT_OPTION})
unset(CURRENT_OPTION)

45
cmake/ddl-config.cmake.in Normal file
View file

@ -0,0 +1,45 @@
if(ddl_FOUND)
return()
endif()
# Compute the installation prefix relative to this file.
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
if(_IMPORT_PREFIX STREQUAL "/")
set(_IMPORT_PREFIX "")
endif()
# Add imported library target
add_library(ddl STATIC IMPORTED)
if (WIN32)
set(_LIB_PREFIX "")
set(_LIB_ENDING "lib")
else()
set(_LIB_PREFIX "lib")
set(_LIB_ENDING "a")
endif()
set_target_properties(ddl PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
INTERFACE_LINK_LIBRARIES "a_util"
INTERFACE_COMPILE_FEATURES "cxx_std_11"
IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/lib/${_LIB_PREFIX}ddl@CMAKE_DEBUG_POSTFIX@.${_LIB_ENDING}"
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${_LIB_PREFIX}ddl@CMAKE_RELEASE_POSTFIX@.${_LIB_ENDING}"
IMPORTED_LOCATION_RELWITHDEBINFO "${_IMPORT_PREFIX}/lib/${_LIB_PREFIX}ddl@CMAKE_RELWITHDEBINFO_POSTFIX@.${_LIB_ENDING}"
IMPORTED_LOCATION_MINSIZEREL "${_IMPORT_PREFIX}/lib/${_LIB_PREFIX}ddl@CMAKE_MINSIZEREL_POSTFIX@.${_LIB_ENDING}"
)
set(ddl_INCLUDE_DIRS ${_IMPORT_PREFIX}/include)
set(ddl_LIBRARY_DIRS ${_IMPORT_PREFIX}/lib)
set(ddl_BINARY_DIRS ${_IMPORT_PREFIX}/bin)
# Cleanup temporary variables.
unset(_LIB_ENDING)
unset(_IMPORT_PREFIX)
include("${CMAKE_CURRENT_LIST_DIR}/migrate_to_ddl_4_1.cmake")
set(ddl_FOUND true)

View file

@ -0,0 +1,132 @@
cBitSerializer;BitSerializer
cCodec;Codec
cCodecFactory;CodecFactory
cDDL;DDL
cDDLAlignment;DDLAlignment
cDDLAutoVec;DDLAutoVec
cDDLBaseunit;DDLBaseunit
cDDLByteorder;DDLByteorder
cDDLCloner;DDLCloner
cDDLComplex;DDLComplex
cDDLContainer;DDLContainer
cDDLContainerNoClone;DDLContainerNoClone
cDDLDataType;DDLDataType
cDDLDescription;DDLDescription
cDDLElement;DDLElement
cDDLEnum;DDLEnum
cDDLError;DDLError
cDDLExtDeclaration;DDLExtDeclaration
cDDLHeader;DDLHeader
cDDLHelper;DDLHelper
cDDLImporter;DDLImporter
cDDLInspector;DDLInspector
cDDLPrefix;DDLPrefix
cDDLPrinter;DDLPrinter
cDDLProperty;DDLProperty
cDDLRefUnit;DDLRefUnit
cDDLRepair;DDLRepair
cDDLResolver;DDLResolver
cDDLStream;DDLStream
cDDLStreamMetaType;DDLStreamMetaType
cDDLStreamStruct;DDLStreamStruct
cDDLUnit;DDLUnit
cDDLVersionHelper;DDLVersionHelper
cDataTrigger;DataTrigger
cDecoder;Decoder
cElementAccessor;ElementAccessor
cMapAssignment;MapAssignment
cMapConfiguration;MapConfiguration
cMapDataTrigger;MapDataTrigger
cMapEnumTableTransformation;MapEnumTableTransformation
cMapHeader;MapHeader
cMapPeriodicTrigger;MapPeriodicTrigger
cMapPolynomTransformation;MapPolynomTransformation
cMapSignalTrigger;MapSignalTrigger
cMapSource;MapSource
cMapTarget;MapTarget
cMapTransformationBase;MapTransformationBase
cMapTriggerBase;MapTriggerBase
cMappingEngine;MappingEngine
cPeriodicTrigger;PeriodicTrigger
cSignalTrigger;SignalTrigger
cSource;Source
cStaticCodec;StaticCodec
cStaticDecoder;StaticDecoder
cStructLayout;StructLayout
cTarget;Target
cTargetElement;TargetElement
cTriggerBase;TriggerBase
eByteorder;Byteorder
eDDLAlignment;DDLAlignment
eImporterMsgSeverity;ImporterMsgSeverity
sImporterMsg;ImporterMsg
tAssignments;Assignments
tConstants;Constants
tDDLBaseunitIt;DDLBaseunitIt
tDDLBaseunitVec;DDLBaseunitVec
tDDLComplexIt;DDLComplexIt
tDDLComplexVec;DDLComplexVec
tDDLDTIt;DDLDTIt
tDDLDTVec;DDLDTVec
tDDLElementIt;DDLElementIt
tDDLElementItConst;DDLElementItConst
tDDLElementVec;DDLElementVec
tDDLEnumIt;DDLEnumIt
tDDLEnumVec;DDLEnumVec
tDDLExtDeclarationIt;DDLExtDeclarationIt
tDDLExtDeclarationVec;DDLExtDeclarationVec
tDDLPrefixIt;DDLPrefixIt
tDDLPrefixVec;DDLPrefixVec
tDDLPropertyVec;DDLPropertyVec
tDDLRefUnitIt;DDLRefUnitIt
tDDLRefUnitVec;DDLRefUnitVec
tDDLStreamIt;DDLStreamIt
tDDLStreamMap;DDLStreamMap
tDDLStreamMapIt;DDLStreamMapIt
tDDLStreamMetaTypeVec;DDLStreamMetaTypeVec
tDDLStreamStructIt;DDLStreamStructIt
tDDLStreamStructVec;DDLStreamStructVec
tDDLStreamVec;DDLStreamVec
tDDLUnitIt;DDLUnitIt
tDDLUnitVec;DDLUnitVec
tDDLVec;DDLVec
tDataRepresentation;DataRepresentation
tDescriptionCheckFlags;DescriptionCheckFlags
tDynamicStructLayoutElement;DynamicStructLayoutElement
tEnumNameValueVec;EnumNameValueVec
tImporterMsgList;ImporterMsgList
tItemCheckFlags;ItemCheckFlags
tMapAssignmentList;MapAssignmentList
tMapConfigFlags;MapConfigFlags
tMapErrorList;MapErrorList
tMapSourceList;MapSourceList
tMapSourceNameList;MapSourceNameList
tMapStrConversionList;MapStrConversionList
tMapTargetList;MapTargetList
tMapTransformationList;MapTransformationList
tMapTriggerList;MapTriggerList
tMemoryBuffer;MemoryBuffer
tMemoryBuffer;MemoryBuffer
tSourceMap;SourceMap
tTargetElementList;TargetElementList
tTargetMap;TargetMap
tTargetRefList;TargetRefList
tTargetSet;TargetSet
tTriggerCounters;TriggerCounters
tTriggerMap;TriggerMap
tTriggers;Triggers
tTypeMap;TypeMap
DestroyDDL;destroyDDL
PLATFORM_NOT_SUPPORTED;platform_not_supported
PLATFORM_LITTLE_ENDIAN_8;plattform_little_endian_8
PLATFORM_BIG_ENDIAN_8;platform_big_endian_8
eNOE;e_noe
eLE;e_le
eBE;e_be
eSeverity;severity
strDesc;desc
eImporterInfo;importer_info
eImporterWarning;importer_warning
eImporterError;importer_error
MC_LOAD_MAPPING;mc_load_mapping
MC_MERGE_MAPPING;mc_merge_mapping

View file

@ -0,0 +1,5 @@
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
# enable multicore compilation
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
endif()

View file

@ -0,0 +1,50 @@
function(ddl_migrate_4_1)
set(options "")
set(oneValueArgs TARGET)
set(multiValueArgs "")
cmake_parse_arguments(CLANG_TIDY "${options}" "${oneValueArgs}"
"${multiValueArgs}" ${ARGN} )
get_target_property(inc_dirs ${CLANG_TIDY_TARGET} INCLUDE_DIRECTORIES)
get_target_property(target_sources ${CLANG_TIDY_TARGET} SOURCES)
get_target_property(target_folder ${CLANG_TIDY_TARGET} FOLDER)
get_target_property(link_libs ${CLANG_TIDY_TARGET} LINK_LIBRARIES)
foreach(lib ${link_libs})
get_target_property(lib_inc_dirs ${lib} INTERFACE_INCLUDE_DIRECTORIES)
if(lib_inc_dirs)
list(APPEND inc_dirs ${lib_inc_dirs})
endif()
endforeach(lib)
foreach(inc ${inc_dirs})
list(APPEND inc_list -isystem${inc})
endforeach(inc)
# filter headers that are included in sources
list(FILTER target_sources INCLUDE REGEX ".*\.cpp$")
set(TIDY_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/run-clang-tidy-fix-${CLANG_TIDY_TARGET}.sh)
string (REPLACE ";" " " target_sources_spaces "${target_sources}")
string (REPLACE ";" " " inc_list_spaces "${inc_list}")
string (CONCAT TIDY_STRING
"${CONAN_BIN_DIRS_CLANG}/clang-tidy "
" ${target_sources_spaces} "
" -header-filter=.* "
" -fix "
" -fix-errors "
" -- "
" ${inc_list_spaces} "
" -std=c++14 "
" ${CMAKE_CXX_FLAGS} ")
file(GENERATE OUTPUT ${TIDY_SCRIPT} CONTENT "${TIDY_STRING}")
set(REPLACEMENT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(REPLACEMENTS_FILE ${ddl_INCLUDE_DIRS}/../cmake/ddl4.1_replacements.txt)
configure_file(${ddl_INCLUDE_DIRS}/../cmake/migrate_to_ddl_4_1.sh.in ${CMAKE_CURRENT_BINARY_DIR}/${CLANG_TIDY_TARGET}_migrate_to_ddl_4_1.sh @ONLY)
endfunction(ddl_migrate_4_1)

View file

@ -0,0 +1,19 @@
#!/bin/bash
while IFS=';' read -ra line || [[ -n "$line" ]]; do
find @REPLACEMENT_DIR@ -type f -readable -writable -exec sed -i "s/\b${line[0]}\b/${line[1]}/g" {} \;
done < @REPLACEMENTS_FILE@
i="0"
CWD="$(pwd)"
cd "@CMAKE_CURRENT_SOURCE_DIR@"
chmod +x @TIDY_SCRIPT@
while [ $i -lt 50 ]; do
@TIDY_SCRIPT@ 2>&1 | grep 'clang-tidy applied .* suggested fixes'
if [ $? != 0 ]; then
break
fi
i=$[$i+1]
done
@TIDY_SCRIPT@
cd "$CWD"

View file

@ -0,0 +1,2 @@
##differentiate between debug and release
set(CMAKE_DEBUG_POSTFIX "d${CMAKE_RELEASE_POSTFIX}")

View file

@ -0,0 +1,12 @@
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
# compile with /Z7 to avoid pdb generation and integrate debug symbols
string(REGEX REPLACE "/Z[iI7]" "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Z7")
string(REGEX REPLACE "/Z[iI7]" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Z7")
string(REGEX REPLACE "/Z[iI7]" "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /Z7")
string(REGEX REPLACE "/Z[iI7]" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /Z7")
endif()