Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c6110f9

Browse files
author
Davide Faconti
committed
Merge branch 'ver_3'
2 parents dcb5224 + d0e8b8c commit c6110f9

File tree

173 files changed

+15760
-6676
lines changed

Some content is hidden

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

173 files changed

+15760
-6676
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
*~
22
/CMakeLists.txt.user
33
build*
4-
site

.travis.yml

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -45,39 +45,39 @@ matrix:
4545
env: ROS_DISTRO="kinetic"
4646
- ros_melodic:
4747
env: ROS_DISTRO="melodic"
48-
- <<: *conan-linux
49-
env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5 ROS_DISTRO="none"
50-
- <<: *conan-linux
51-
env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6 ROS_DISTRO="none"
52-
- <<: *conan-linux
53-
env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7 ROS_DISTRO="none"
54-
- <<: *conan-linux
55-
env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8 ROS_DISTRO="none"
56-
- <<: *conan-linux
57-
env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39 ROS_DISTRO="none"
58-
- <<: *conan-linux
59-
env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40 ROS_DISTRO="none"
60-
- <<: *conan-linux
61-
env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50 ROS_DISTRO="none"
62-
- <<: *conan-linux
63-
env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60 ROS_DISTRO="none"
64-
- <<: *conan-osx
65-
osx_image: xcode8.3
66-
env: CONAN_APPLE_CLANG_VERSIONS=8.1 ROS_DISTRO="none"
67-
- <<: *conan-osx
68-
osx_image: xcode9
69-
env: CONAN_APPLE_CLANG_VERSIONS=9.0 ROS_DISTRO="none"
70-
- <<: *conan-osx
71-
osx_image: xcode9.4
72-
env: CONAN_APPLE_CLANG_VERSIONS=9.1 ROS_DISTRO="none"
73-
- <<: *conan-osx
74-
osx_image: xcode10.1
75-
env: CONAN_APPLE_CLANG_VERSIONS=10.0 ROS_DISTRO="none"
48+
# - <<: *conan-linux
49+
# env: CONAN_GCC_VERSIONS=5 CONAN_DOCKER_IMAGE=conanio/gcc5 ROS_DISTRO="none"
50+
# - <<: *conan-linux
51+
# env: CONAN_GCC_VERSIONS=6 CONAN_DOCKER_IMAGE=conanio/gcc6 ROS_DISTRO="none"
52+
# - <<: *conan-linux
53+
# env: CONAN_GCC_VERSIONS=7 CONAN_DOCKER_IMAGE=conanio/gcc7 ROS_DISTRO="none"
54+
# - <<: *conan-linux
55+
# env: CONAN_GCC_VERSIONS=8 CONAN_DOCKER_IMAGE=conanio/gcc8 ROS_DISTRO="none"
56+
# - <<: *conan-linux
57+
# env: CONAN_CLANG_VERSIONS=3.9 CONAN_DOCKER_IMAGE=conanio/clang39 ROS_DISTRO="none"
58+
# - <<: *conan-linux
59+
# env: CONAN_CLANG_VERSIONS=4.0 CONAN_DOCKER_IMAGE=conanio/clang40 ROS_DISTRO="none"
60+
# - <<: *conan-linux
61+
# env: CONAN_CLANG_VERSIONS=5.0 CONAN_DOCKER_IMAGE=conanio/clang50 ROS_DISTRO="none"
62+
# - <<: *conan-linux
63+
# env: CONAN_CLANG_VERSIONS=6.0 CONAN_DOCKER_IMAGE=conanio/clang60 ROS_DISTRO="none"
64+
# - <<: *conan-osx
65+
# osx_image: xcode8.3
66+
# env: CONAN_APPLE_CLANG_VERSIONS=8.1 ROS_DISTRO="none"
67+
# - <<: *conan-osx
68+
# osx_image: xcode9
69+
# env: CONAN_APPLE_CLANG_VERSIONS=9.0 ROS_DISTRO="none"
70+
# - <<: *conan-osx
71+
# osx_image: xcode9.4
72+
# env: CONAN_APPLE_CLANG_VERSIONS=9.1 ROS_DISTRO="none"
73+
# - <<: *conan-osx
74+
# osx_image: xcode10.1
75+
# env: CONAN_APPLE_CLANG_VERSIONS=10.0 ROS_DISTRO="none"
7676
fast_finish: false
7777

7878
before_install:
7979
- sudo apt-get update && sudo apt-get --reinstall install -qq build-essential
80-
- if [ "$ROS_DISTRO" = "none" ]; then sudo apt-get --reinstall install -qq libzmq3-dev; fi
80+
- if [ "$ROS_DISTRO" = "none" ]; then sudo apt-get --reinstall install -qq libzmq3-dev libdw-dev; fi
8181
# GTest: see motivation here https://www.eriksmistad.no/getting-started-with-google-test-on-ubuntu/
8282
- sudo apt-get --reinstall install -qq libgtest-dev cmake
8383
- cd /usr/src/gtest
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
#
2+
# BackwardMacros.cmake
3+
# Copyright 2013 Google Inc. All Rights Reserved.
4+
#
5+
# Permission is hereby granted, free of charge, to any person obtaining a copy
6+
# of this software and associated documentation files (the "Software"), to deal
7+
# in the Software without restriction, including without limitation the rights
8+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
# copies of the Software, and to permit persons to whom the Software is
10+
# furnished to do so, subject to the following conditions:
11+
#
12+
# The above copyright notice and this permission notice shall be included in
13+
# all copies or substantial portions of the Software.
14+
#
15+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
# SOFTWARE.
22+
23+
###############################################################################
24+
# OPTIONS
25+
###############################################################################
26+
27+
set(STACK_WALKING_UNWIND TRUE CACHE BOOL
28+
"Use compiler's unwind API")
29+
set(STACK_WALKING_BACKTRACE FALSE CACHE BOOL
30+
"Use backtrace from (e)glibc for stack walking")
31+
32+
set(STACK_DETAILS_AUTO_DETECT TRUE CACHE BOOL
33+
"Auto detect backward's stack details dependencies")
34+
35+
set(STACK_DETAILS_BACKTRACE_SYMBOL FALSE CACHE BOOL
36+
"Use backtrace from (e)glibc for symbols resolution")
37+
set(STACK_DETAILS_DW FALSE CACHE BOOL
38+
"Use libdw to read debug info")
39+
set(STACK_DETAILS_BFD FALSE CACHE BOOL
40+
"Use libbfd to read debug info")
41+
set(STACK_DETAILS_DWARF FALSE CACHE BOOL
42+
"Use libdwarf/libelf to read debug info")
43+
44+
set(BACKWARD_TESTS FALSE CACHE BOOL "Enable tests")
45+
46+
###############################################################################
47+
# CONFIGS
48+
###############################################################################
49+
if (${STACK_DETAILS_AUTO_DETECT})
50+
include(FindPackageHandleStandardArgs)
51+
52+
# find libdw
53+
find_path(LIBDW_INCLUDE_DIR NAMES "elfutils/libdw.h" "elfutils/libdwfl.h")
54+
find_library(LIBDW_LIBRARY dw)
55+
set(LIBDW_INCLUDE_DIRS ${LIBDW_INCLUDE_DIR} )
56+
set(LIBDW_LIBRARIES ${LIBDW_LIBRARY} )
57+
find_package_handle_standard_args(libdw DEFAULT_MSG
58+
LIBDW_LIBRARY LIBDW_INCLUDE_DIR)
59+
mark_as_advanced(LIBDW_INCLUDE_DIR LIBDW_LIBRARY)
60+
61+
# find libbfd
62+
find_path(LIBBFD_INCLUDE_DIR NAMES "bfd.h")
63+
find_path(LIBDL_INCLUDE_DIR NAMES "dlfcn.h")
64+
find_library(LIBBFD_LIBRARY bfd)
65+
find_library(LIBDL_LIBRARY dl)
66+
set(LIBBFD_INCLUDE_DIRS ${LIBBFD_INCLUDE_DIR} ${LIBDL_INCLUDE_DIR})
67+
set(LIBBFD_LIBRARIES ${LIBBFD_LIBRARY} ${LIBDL_LIBRARY})
68+
find_package_handle_standard_args(libbfd DEFAULT_MSG
69+
LIBBFD_LIBRARY LIBBFD_INCLUDE_DIR
70+
LIBDL_LIBRARY LIBDL_INCLUDE_DIR)
71+
mark_as_advanced(LIBBFD_INCLUDE_DIR LIBBFD_LIBRARY
72+
LIBDL_INCLUDE_DIR LIBDL_LIBRARY)
73+
74+
# find libdwarf
75+
find_path(LIBDWARF_INCLUDE_DIR NAMES "libdwarf.h" PATH_SUFFIXES libdwarf)
76+
find_path(LIBELF_INCLUDE_DIR NAMES "libelf.h")
77+
find_path(LIBDL_INCLUDE_DIR NAMES "dlfcn.h")
78+
find_library(LIBDWARF_LIBRARY dwarf)
79+
find_library(LIBELF_LIBRARY elf)
80+
find_library(LIBDL_LIBRARY dl)
81+
set(LIBDWARF_INCLUDE_DIRS ${LIBDWARF_INCLUDE_DIR} ${LIBELF_INCLUDE_DIR} ${LIBDL_INCLUDE_DIR})
82+
set(LIBDWARF_LIBRARIES ${LIBDWARF_LIBRARY} ${LIBELF_LIBRARY} ${LIBDL_LIBRARY})
83+
find_package_handle_standard_args(libdwarf DEFAULT_MSG
84+
LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR
85+
LIBELF_LIBRARY LIBELF_INCLUDE_DIR
86+
LIBDL_LIBRARY LIBDL_INCLUDE_DIR)
87+
mark_as_advanced(LIBDWARF_INCLUDE_DIR LIBDWARF_LIBRARY
88+
LIBELF_INCLUDE_DIR LIBELF_LIBRARY
89+
LIBDL_INCLUDE_DIR LIBDL_LIBRARY)
90+
91+
if (LIBDW_FOUND)
92+
LIST(APPEND _BACKWARD_INCLUDE_DIRS ${LIBDW_INCLUDE_DIRS})
93+
LIST(APPEND _BACKWARD_LIBRARIES ${LIBDW_LIBRARIES})
94+
set(STACK_DETAILS_DW TRUE)
95+
set(STACK_DETAILS_BFD FALSE)
96+
set(STACK_DETAILS_DWARF FALSE)
97+
set(STACK_DETAILS_BACKTRACE_SYMBOL FALSE)
98+
elseif(LIBBFD_FOUND)
99+
LIST(APPEND _BACKWARD_INCLUDE_DIRS ${LIBBFD_INCLUDE_DIRS})
100+
LIST(APPEND _BACKWARD_LIBRARIES ${LIBBFD_LIBRARIES})
101+
102+
# If we attempt to link against static bfd, make sure to link its dependencies, too
103+
get_filename_component(bfd_lib_ext "${LIBBFD_LIBRARY}" EXT)
104+
if (bfd_lib_ext STREQUAL "${CMAKE_STATIC_LIBRARY_SUFFIX}")
105+
list(APPEND _BACKWARD_LIBRARIES iberty z)
106+
endif()
107+
108+
set(STACK_DETAILS_DW FALSE)
109+
set(STACK_DETAILS_BFD TRUE)
110+
set(STACK_DETAILS_DWARF FALSE)
111+
set(STACK_DETAILS_BACKTRACE_SYMBOL FALSE)
112+
elseif(LIBDWARF_FOUND)
113+
LIST(APPEND _BACKWARD_INCLUDE_DIRS ${LIBDWARF_INCLUDE_DIRS})
114+
LIST(APPEND BACKWARD_LIBRARIES ${LIBDWARF_LIBRARIES})
115+
116+
set(STACK_DETAILS_DW FALSE)
117+
set(STACK_DETAILS_BFD FALSE)
118+
set(STACK_DETAILS_DWARF TRUE)
119+
set(STACK_DETAILS_BACKTRACE_SYMBOL FALSE)
120+
else()
121+
set(STACK_DETAILS_DW FALSE)
122+
set(STACK_DETAILS_BFD FALSE)
123+
set(STACK_DETAILS_DWARF FALSE)
124+
set(STACK_DETAILS_BACKTRACE_SYMBOL TRUE)
125+
endif()
126+
else()
127+
if (STACK_DETAILS_DW)
128+
LIST(APPEND _BACKWARD_LIBRARIES dw)
129+
endif()
130+
131+
if (STACK_DETAILS_BFD)
132+
LIST(APPEND _BACKWARD_LIBRARIES bfd dl)
133+
endif()
134+
135+
if (STACK_DETAILS_DWARF)
136+
LIST(APPEND _BACKWARD_LIBRARIES dwarf elf)
137+
endif()
138+
endif()
139+
140+
macro(map_definitions var_prefix define_prefix)
141+
foreach(def ${ARGN})
142+
if (${${var_prefix}${def}})
143+
LIST(APPEND _BACKWARD_DEFINITIONS "${define_prefix}${def}=1")
144+
else()
145+
LIST(APPEND _BACKWARD_DEFINITIONS "${define_prefix}${def}=0")
146+
endif()
147+
endforeach()
148+
endmacro()
149+
150+
if (NOT _BACKWARD_DEFINITIONS)
151+
map_definitions("STACK_WALKING_" "BACKWARD_HAS_" UNWIND BACKTRACE)
152+
map_definitions("STACK_DETAILS_" "BACKWARD_HAS_" BACKTRACE_SYMBOL DW BFD DWARF)
153+
endif()
154+
155+
set(BACKWARD_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}")
156+
157+
set(BACKWARD_HAS_EXTERNAL_LIBRARIES FALSE)
158+
set(FIND_PACKAGE_REQUIRED_VARS BACKWARD_INCLUDE_DIR)
159+
if(DEFINED _BACKWARD_LIBRARIES)
160+
set(BACKWARD_HAS_EXTERNAL_LIBRARIES TRUE)
161+
list(APPEND FIND_PACKAGE_REQUIRED_VARS _BACKWARD_LIBRARIES)
162+
endif()
163+
164+
include(FindPackageHandleStandardArgs)
165+
find_package_handle_standard_args(Backward
166+
REQUIRED_VARS ${FIND_PACKAGE_REQUIRED_VARS}
167+
)
168+
list(APPEND _BACKWARD_INCLUDE_DIRS ${BACKWARD_INCLUDE_DIR})
169+
170+
macro(add_backward target)
171+
target_include_directories(${target} PRIVATE ${BACKWARD_INCLUDE_DIRS})
172+
set_property(TARGET ${target} APPEND PROPERTY COMPILE_DEFINITIONS ${BACKWARD_DEFINITIONS})
173+
set_property(TARGET ${target} APPEND PROPERTY LINK_LIBRARIES ${BACKWARD_LIBRARIES})
174+
endmacro()
175+
176+
set(BACKWARD_INCLUDE_DIRS ${_BACKWARD_INCLUDE_DIRS} CACHE INTERNAL "_BACKWARD_INCLUDE_DIRS")
177+
set(BACKWARD_DEFINITIONS ${_BACKWARD_DEFINITIONS} CACHE INTERNAL "BACKWARD_DEFINITIONS")
178+
set(BACKWARD_LIBRARIES ${_BACKWARD_LIBRARIES} CACHE INTERNAL "BACKWARD_LIBRARIES")
179+
mark_as_advanced(BACKWARD_INCLUDE_DIRS BACKWARD_DEFINITIONS BACKWARD_LIBRARIES)
180+
181+
# Expand each definition in BACKWARD_DEFINITIONS to its own cmake var and export
182+
# to outer scope
183+
foreach(var ${BACKWARD_DEFINITIONS})
184+
string(REPLACE "=" ";" var_as_list ${var})
185+
list(GET var_as_list 0 var_name)
186+
list(GET var_as_list 1 var_value)
187+
set(${var_name} ${var_value})
188+
mark_as_advanced(${var_name})
189+
endforeach()
190+
191+
if (NOT TARGET Backward::Backward)
192+
add_library(Backward::Backward INTERFACE IMPORTED)
193+
set_target_properties(Backward::Backward PROPERTIES
194+
INTERFACE_INCLUDE_DIRECTORIES "${BACKWARD_INCLUDE_DIRS}"
195+
INTERFACE_COMPILE_DEFINITIONS "${BACKWARD_DEFINITIONS}"
196+
)
197+
if(BACKWARD_HAS_EXTERNAL_LIBRARIES)
198+
set_target_properties(Backward::Backward PROPERTIES
199+
INTERFACE_LINK_LIBRARIES "${BACKWARD_LIBRARIES}"
200+
)
201+
endif()
202+
endif()

0 commit comments

Comments
 (0)