initial commit for github
This commit is contained in:
commit
60968612de
370 changed files with 68427 additions and 0 deletions
12
cmake/check_cmake_build_type.cmake
Normal file
12
cmake/check_cmake_build_type.cmake
Normal 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)
|
20
cmake/check_cmake_install_prefix.cmake
Normal file
20
cmake/check_cmake_install_prefix.cmake
Normal 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
45
cmake/ddl-config.cmake.in
Normal 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)
|
132
cmake/ddl4.1_replacements.txt
Normal file
132
cmake/ddl4.1_replacements.txt
Normal 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
|
5
cmake/enable_multicore_compilation.cmake
Normal file
5
cmake/enable_multicore_compilation.cmake
Normal 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()
|
50
cmake/migrate_to_ddl_4_1.cmake
Normal file
50
cmake/migrate_to_ddl_4_1.cmake
Normal 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)
|
19
cmake/migrate_to_ddl_4_1.sh.in
Normal file
19
cmake/migrate_to_ddl_4_1.sh.in
Normal 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"
|
2
cmake/set_library_naming_conventions.cmake
Normal file
2
cmake/set_library_naming_conventions.cmake
Normal file
|
@ -0,0 +1,2 @@
|
|||
##differentiate between debug and release
|
||||
set(CMAKE_DEBUG_POSTFIX "d${CMAKE_RELEASE_POSTFIX}")
|
12
cmake/use_integrated_debug_symbols.cmake
Normal file
12
cmake/use_integrated_debug_symbols.cmake
Normal 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()
|
Loading…
Add table
Add a link
Reference in a new issue