From b9e1b4435a406a8a27c078ea05dee1240e51704a Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 2 May 2017 18:29:37 +0200 Subject: Added external libraries from openXC CMake files. Now libraries are cleanly included and built. Change-Id: Iaa85639578b55b2da8357bc438426403e2cca8de Signed-off-by: Romain Forlot --- CAN-binder/libs/nanopb/extra/FindNanopb.cmake | 274 --------------------- .../nanopb/extra/nanopb-config-version.cmake.in | 11 - CAN-binder/libs/nanopb/extra/nanopb-config.cmake | 1 - CAN-binder/libs/nanopb/extra/nanopb.mk | 37 --- CAN-binder/libs/nanopb/extra/pb_syshdr.h | 112 --------- 5 files changed, 435 deletions(-) delete mode 100644 CAN-binder/libs/nanopb/extra/FindNanopb.cmake delete mode 100644 CAN-binder/libs/nanopb/extra/nanopb-config-version.cmake.in delete mode 100644 CAN-binder/libs/nanopb/extra/nanopb-config.cmake delete mode 100644 CAN-binder/libs/nanopb/extra/nanopb.mk delete mode 100644 CAN-binder/libs/nanopb/extra/pb_syshdr.h (limited to 'CAN-binder/libs/nanopb/extra') diff --git a/CAN-binder/libs/nanopb/extra/FindNanopb.cmake b/CAN-binder/libs/nanopb/extra/FindNanopb.cmake deleted file mode 100644 index 9afb21d0..00000000 --- a/CAN-binder/libs/nanopb/extra/FindNanopb.cmake +++ /dev/null @@ -1,274 +0,0 @@ -# This is an example script for use with CMake projects for locating and configuring -# the nanopb library. -# -# The following variables can be set and are optional: -# -# -# PROTOBUF_SRC_ROOT_FOLDER - When compiling with MSVC, if this cache variable is set -# the protobuf-default VS project build locations -# (vsprojects/Debug & vsprojects/Release) will be searched -# for libraries and binaries. -# -# NANOPB_IMPORT_DIRS - List of additional directories to be searched for -# imported .proto files. -# -# NANOPB_GENERATE_CPP_APPEND_PATH - By default -I will be passed to protoc -# for each directory where a proto file is referenced. -# Set to FALSE if you want to disable this behaviour. -# -# Defines the following variables: -# -# NANOPB_FOUND - Found the nanopb library (source&header files, generator tool, protoc compiler tool) -# NANOPB_INCLUDE_DIRS - Include directories for Google Protocol Buffers -# -# The following cache variables are also available to set or use: -# PROTOBUF_PROTOC_EXECUTABLE - The protoc compiler -# NANOPB_GENERATOR_SOURCE_DIR - The nanopb generator source -# -# ==================================================================== -# -# NANOPB_GENERATE_CPP (public function) -# SRCS = Variable to define with autogenerated -# source files -# HDRS = Variable to define with autogenerated -# header files -# ARGN = proto files -# -# ==================================================================== -# Example: -# -# set(NANOPB_SRC_ROOT_FOLDER "/path/to/nanopb") -# set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${NANOPB_SRC_ROOT_FOLDER}/cmake) -# find_package( Nanopb REQUIRED ) -# include_directories(${NANOPB_INCLUDE_DIRS}) -# -# NANOPB_GENERATE_CPP(PROTO_SRCS PROTO_HDRS foo.proto) -# -# include_directories(${CMAKE_CURRENT_BINARY_DIR}) -# add_executable(bar bar.cc ${PROTO_SRCS} ${PROTO_HDRS}) -# -# ==================================================================== - -#============================================================================= -# Copyright 2009 Kitware, Inc. -# Copyright 2009-2011 Philip Lowman -# Copyright 2008 Esben Mose Hansen, Ange Optimization ApS -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# * Neither the names of Kitware, Inc., the Insight Software Consortium, -# nor the names of their contributors may be used to endorse or promote -# products derived from this software without specific prior written -# permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -#============================================================================= -# -# Changes -# 2013.01.31 - Pavlo Ilin - used Modules/FindProtobuf.cmake from cmake 2.8.10 to -# write FindNanopb.cmake -# -#============================================================================= - - -function(NANOPB_GENERATE_CPP SRCS HDRS) - if(NOT ARGN) - return() - endif() - - if(NANOPB_GENERATE_CPP_APPEND_PATH) - # Create an include path for each file specified - foreach(FIL ${ARGN}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(ABS_PATH ${ABS_FIL} PATH) - - list(FIND _nanobp_include_path ${ABS_PATH} _contains_already) - if(${_contains_already} EQUAL -1) - list(APPEND _nanobp_include_path -I ${ABS_PATH}) - endif() - endforeach() - else() - set(_nanobp_include_path -I ${CMAKE_CURRENT_SOURCE_DIR}) - endif() - - if(DEFINED NANOPB_IMPORT_DIRS) - foreach(DIR ${NANOPB_IMPORT_DIRS}) - get_filename_component(ABS_PATH ${DIR} ABSOLUTE) - list(FIND _nanobp_include_path ${ABS_PATH} _contains_already) - if(${_contains_already} EQUAL -1) - list(APPEND _nanobp_include_path -I ${ABS_PATH}) - endif() - endforeach() - endif() - - set(${SRCS}) - set(${HDRS}) - - set(GENERATOR_PATH ${CMAKE_BINARY_DIR}/nanopb/generator) - - set(NANOPB_GENERATOR_EXECUTABLE ${GENERATOR_PATH}/nanopb_generator.py) - - set(GENERATOR_CORE_DIR ${GENERATOR_PATH}/proto) - set(GENERATOR_CORE_SRC - ${GENERATOR_CORE_DIR}/nanopb.proto - ${GENERATOR_CORE_DIR}/plugin.proto) - - # Treat the source diretory as immutable. - # - # Copy the generator directory to the build directory before - # compiling python and proto files. Fixes issues when using the - # same build directory with different python/protobuf versions - # as the binary build directory is discarded across builds. - # - add_custom_command( - OUTPUT ${NANOPB_GENERATOR_EXECUTABLE} ${GENERATOR_CORE_SRC} - COMMAND ${CMAKE_COMMAND} -E copy_directory - ARGS ${NANOPB_GENERATOR_SOURCE_DIR} ${GENERATOR_PATH} - VERBATIM) - - set(GENERATOR_CORE_PYTHON_SRC) - foreach(FIL ${GENERATOR_CORE_SRC}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) - - set(output "${GENERATOR_CORE_DIR}/${FIL_WE}_pb2.py") - set(GENERATOR_CORE_PYTHON_SRC ${GENERATOR_CORE_PYTHON_SRC} ${output}) - add_custom_command( - OUTPUT ${output} - COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} - ARGS -I${GENERATOR_PATH}/proto - --python_out=${GENERATOR_CORE_DIR} ${ABS_FIL} - DEPENDS ${ABS_FIL} - VERBATIM) - endforeach() - - foreach(FIL ${ARGN}) - get_filename_component(ABS_FIL ${FIL} ABSOLUTE) - get_filename_component(FIL_WE ${FIL} NAME_WE) - get_filename_component(FIL_DIR ${FIL} PATH) - set(NANOPB_OPTIONS_FILE ${FIL_DIR}/${FIL_WE}.options) - set(NANOPB_OPTIONS) - if(EXISTS ${NANOPB_OPTIONS_FILE}) - set(NANOPB_OPTIONS -f ${NANOPB_OPTIONS_FILE}) - endif() - - list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.c") - list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h") - - add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb" - COMMAND ${PROTOBUF_PROTOC_EXECUTABLE} - ARGS -I${GENERATOR_PATH} -I${GENERATOR_CORE_DIR} - -I${CMAKE_CURRENT_BINARY_DIR} ${_nanobp_include_path} - -o${FIL_WE}.pb ${ABS_FIL} - DEPENDS ${ABS_FIL} ${GENERATOR_CORE_PYTHON_SRC} - COMMENT "Running C++ protocol buffer compiler on ${FIL}" - VERBATIM ) - - add_custom_command( - OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.c" - "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h" - COMMAND ${PYTHON_EXECUTABLE} - ARGS ${NANOPB_GENERATOR_EXECUTABLE} ${FIL_WE}.pb ${NANOPB_OPTIONS} - DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb" - COMMENT "Running nanopb generator on ${FIL_WE}.pb" - VERBATIM ) - endforeach() - - set_source_files_properties(${${SRCS}} ${${HDRS}} PROPERTIES GENERATED TRUE) - set(${SRCS} ${${SRCS}} ${NANOPB_SRCS} PARENT_SCOPE) - set(${HDRS} ${${HDRS}} ${NANOPB_HDRS} PARENT_SCOPE) - -endfunction() - - - -# -# Main. -# - -# By default have NANOPB_GENERATE_CPP macro pass -I to protoc -# for each directory where a proto file is referenced. -if(NOT DEFINED NANOPB_GENERATE_CPP_APPEND_PATH) - set(NANOPB_GENERATE_CPP_APPEND_PATH TRUE) -endif() - -# Make a really good guess regarding location of NANOPB_SRC_ROOT_FOLDER -if(NOT DEFINED NANOPB_SRC_ROOT_FOLDER) - get_filename_component(NANOPB_SRC_ROOT_FOLDER - ${CMAKE_CURRENT_LIST_DIR}/.. ABSOLUTE) -endif() - -# Find the include directory -find_path(NANOPB_INCLUDE_DIRS - pb.h - PATHS ${NANOPB_SRC_ROOT_FOLDER} -) -mark_as_advanced(NANOPB_INCLUDE_DIRS) - -# Find nanopb source files -set(NANOPB_SRCS) -set(NANOPB_HDRS) -list(APPEND _nanopb_srcs pb_decode.c pb_encode.c pb_common.c) -list(APPEND _nanopb_hdrs pb_decode.h pb_encode.h pb_common.h pb.h) - -foreach(FIL ${_nanopb_srcs}) - find_file(${FIL}__nano_pb_file NAMES ${FIL} PATHS ${NANOPB_SRC_ROOT_FOLDER} ${NANOPB_INCLUDE_DIRS}) - list(APPEND NANOPB_SRCS "${${FIL}__nano_pb_file}") - mark_as_advanced(${FIL}__nano_pb_file) -endforeach() - -foreach(FIL ${_nanopb_hdrs}) - find_file(${FIL}__nano_pb_file NAMES ${FIL} PATHS ${NANOPB_INCLUDE_DIRS}) - mark_as_advanced(${FIL}__nano_pb_file) - list(APPEND NANOPB_HDRS "${${FIL}__nano_pb_file}") -endforeach() - -# Find the protoc Executable -find_program(PROTOBUF_PROTOC_EXECUTABLE - NAMES protoc - DOC "The Google Protocol Buffers Compiler" - PATHS - ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/Release - ${PROTOBUF_SRC_ROOT_FOLDER}/vsprojects/Debug -) -mark_as_advanced(PROTOBUF_PROTOC_EXECUTABLE) - -# Find nanopb generator source dir -find_path(NANOPB_GENERATOR_SOURCE_DIR - NAMES nanopb_generator.py - DOC "nanopb generator source" - PATHS - ${NANOPB_SRC_ROOT_FOLDER}/generator -) -mark_as_advanced(NANOPB_GENERATOR_SOURCE_DIR) - -find_package(PythonInterp REQUIRED) - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(NANOPB DEFAULT_MSG - NANOPB_INCLUDE_DIRS - NANOPB_SRCS NANOPB_HDRS - NANOPB_GENERATOR_SOURCE_DIR - PROTOBUF_PROTOC_EXECUTABLE - ) diff --git a/CAN-binder/libs/nanopb/extra/nanopb-config-version.cmake.in b/CAN-binder/libs/nanopb/extra/nanopb-config-version.cmake.in deleted file mode 100644 index f9292a83..00000000 --- a/CAN-binder/libs/nanopb/extra/nanopb-config-version.cmake.in +++ /dev/null @@ -1,11 +0,0 @@ -set(PACKAGE_VERSION "@nanopb_VERSION@") - -# Check whether the requested PACKAGE_FIND_VERSION is compatible -if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") - set(PACKAGE_VERSION_COMPATIBLE FALSE) -else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") - set(PACKAGE_VERSION_EXACT TRUE) - endif() -endif() diff --git a/CAN-binder/libs/nanopb/extra/nanopb-config.cmake b/CAN-binder/libs/nanopb/extra/nanopb-config.cmake deleted file mode 100644 index 4f726a68..00000000 --- a/CAN-binder/libs/nanopb/extra/nanopb-config.cmake +++ /dev/null @@ -1 +0,0 @@ -include(${CMAKE_CURRENT_LIST_DIR}/nanopb-targets.cmake) diff --git a/CAN-binder/libs/nanopb/extra/nanopb.mk b/CAN-binder/libs/nanopb/extra/nanopb.mk deleted file mode 100644 index 5c2cff56..00000000 --- a/CAN-binder/libs/nanopb/extra/nanopb.mk +++ /dev/null @@ -1,37 +0,0 @@ -# This is an include file for Makefiles. It provides rules for building -# .pb.c and .pb.h files out of .proto, as well the path to nanopb core. - -# Path to the nanopb root directory -NANOPB_DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST)))../) - -# Files for the nanopb core -NANOPB_CORE = $(NANOPB_DIR)/pb_encode.c $(NANOPB_DIR)/pb_decode.c $(NANOPB_DIR)/pb_common.c - -# Check if we are running on Windows -ifdef windir -WINDOWS = 1 -endif -ifdef WINDIR -WINDOWS = 1 -endif - -# Check whether to use binary version of nanopb_generator or the -# system-supplied python interpreter. -ifneq "$(wildcard $(NANOPB_DIR)/generator-bin)" "" - # Binary package - PROTOC = $(NANOPB_DIR)/generator-bin/protoc - PROTOC_OPTS = -else - # Source only or git checkout - PROTOC = protoc - ifdef WINDOWS - PROTOC_OPTS = --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb.bat - else - PROTOC_OPTS = --plugin=protoc-gen-nanopb=$(NANOPB_DIR)/generator/protoc-gen-nanopb - endif -endif - -# Rule for building .pb.c and .pb.h -%.pb.c %.pb.h: %.proto $(wildcard %.options) - $(PROTOC) $(PROTOC_OPTS) --nanopb_out=. $< - diff --git a/CAN-binder/libs/nanopb/extra/pb_syshdr.h b/CAN-binder/libs/nanopb/extra/pb_syshdr.h deleted file mode 100644 index 55d06a3a..00000000 --- a/CAN-binder/libs/nanopb/extra/pb_syshdr.h +++ /dev/null @@ -1,112 +0,0 @@ -/* This is an example of a header file for platforms/compilers that do - * not come with stdint.h/stddef.h/stdbool.h/string.h. To use it, define - * PB_SYSTEM_HEADER as "pb_syshdr.h", including the quotes, and add the - * extra folder to your include path. - * - * It is very likely that you will need to customize this file to suit - * your platform. For any compiler that supports C99, this file should - * not be necessary. - */ - -#ifndef _PB_SYSHDR_H_ -#define _PB_SYSHDR_H_ - -/* stdint.h subset */ -#ifdef HAVE_STDINT_H -#include -#else -/* You will need to modify these to match the word size of your platform. */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; - -/* These are ok for most platforms, unless uint8_t is actually not available, - * in which case you should give the smallest available type. */ -typedef int8_t int_least8_t; -typedef uint8_t uint_least8_t; -typedef uint8_t uint_fast8_t; -typedef int16_t int_least16_t; -typedef uint16_t uint_least16_t; -#endif - -/* stddef.h subset */ -#ifdef HAVE_STDDEF_H -#include -#else - -typedef uint32_t size_t; -#define offsetof(st, m) ((size_t)(&((st *)0)->m)) - -#ifndef NULL -#define NULL 0 -#endif - -#endif - -/* stdbool.h subset */ -#ifdef HAVE_STDBOOL_H -#include -#else - -#ifndef __cplusplus -typedef int bool; -#define false 0 -#define true 1 -#endif - -#endif - -/* stdlib.h subset */ -#ifdef PB_ENABLE_MALLOC -#ifdef HAVE_STDLIB_H -#include -#else -void *realloc(void *ptr, size_t size); -void free(void *ptr); -#endif -#endif - -/* string.h subset */ -#ifdef HAVE_STRING_H -#include -#else - -/* Implementations are from the Public Domain C Library (PDCLib). */ -static size_t strlen( const char * s ) -{ - size_t rc = 0; - while ( s[rc] ) - { - ++rc; - } - return rc; -} - -static void * memcpy( void *s1, const void *s2, size_t n ) -{ - char * dest = (char *) s1; - const char * src = (const char *) s2; - while ( n-- ) - { - *dest++ = *src++; - } - return s1; -} - -static void * memset( void * s, int c, size_t n ) -{ - unsigned char * p = (unsigned char *) s; - while ( n-- ) - { - *p++ = (unsigned char) c; - } - return s; -} -#endif - -#endif -- cgit 1.2.3-korg