sportmode mapping and lidar node bug is fixed
This commit is contained in:
parent
1538e43a4e
commit
d089d53f5e
|
@ -168,5 +168,8 @@ deploy/dock_ws/log
|
||||||
deploy/dock_ws/install
|
deploy/dock_ws/install
|
||||||
deploy/dock_ws/build
|
deploy/dock_ws/build
|
||||||
|
|
||||||
|
deploy/nav2_ws/install
|
||||||
|
deploy/nav2_ws/log
|
||||||
|
|
||||||
_isaac_sim
|
_isaac_sim
|
||||||
.vscode
|
.vscode
|
|
@ -1 +0,0 @@
|
||||||
isolated
|
|
|
@ -1,407 +0,0 @@
|
||||||
# Copyright 2016-2019 Dirk Thomas
|
|
||||||
# Licensed under the Apache License, Version 2.0
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
from collections import OrderedDict
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
FORMAT_STR_COMMENT_LINE = '# {comment}'
|
|
||||||
FORMAT_STR_SET_ENV_VAR = 'Set-Item -Path "Env:{name}" -Value "{value}"'
|
|
||||||
FORMAT_STR_USE_ENV_VAR = '$env:{name}'
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT = '_colcon_prefix_powershell_source_script "{script_path}"'
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR = ''
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR = ''
|
|
||||||
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
|
|
||||||
DSV_TYPE_SET = 'set'
|
|
||||||
DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
|
|
||||||
DSV_TYPE_SOURCE = 'source'
|
|
||||||
|
|
||||||
|
|
||||||
def main(argv=sys.argv[1:]): # noqa: D103
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
description='Output shell commands for the packages in topological '
|
|
||||||
'order')
|
|
||||||
parser.add_argument(
|
|
||||||
'primary_extension',
|
|
||||||
help='The file extension of the primary shell')
|
|
||||||
parser.add_argument(
|
|
||||||
'additional_extension', nargs='?',
|
|
||||||
help='The additional file extension to be considered')
|
|
||||||
parser.add_argument(
|
|
||||||
'--merged-install', action='store_true',
|
|
||||||
help='All install prefixes are merged into a single location')
|
|
||||||
args = parser.parse_args(argv)
|
|
||||||
|
|
||||||
packages = get_packages(Path(__file__).parent, args.merged_install)
|
|
||||||
|
|
||||||
ordered_packages = order_packages(packages)
|
|
||||||
for pkg_name in ordered_packages:
|
|
||||||
if _include_comments():
|
|
||||||
print(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map(
|
|
||||||
{'comment': 'Package: ' + pkg_name}))
|
|
||||||
prefix = os.path.abspath(os.path.dirname(__file__))
|
|
||||||
if not args.merged_install:
|
|
||||||
prefix = os.path.join(prefix, pkg_name)
|
|
||||||
for line in get_commands(
|
|
||||||
pkg_name, prefix, args.primary_extension,
|
|
||||||
args.additional_extension
|
|
||||||
):
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
for line in _remove_ending_separators():
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
|
|
||||||
def get_packages(prefix_path, merged_install):
|
|
||||||
"""
|
|
||||||
Find packages based on colcon-specific files created during installation.
|
|
||||||
|
|
||||||
:param Path prefix_path: The install prefix path of all packages
|
|
||||||
:param bool merged_install: The flag if the packages are all installed
|
|
||||||
directly in the prefix or if each package is installed in a subdirectory
|
|
||||||
named after the package
|
|
||||||
:returns: A mapping from the package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:rtype: dict
|
|
||||||
"""
|
|
||||||
packages = {}
|
|
||||||
# since importing colcon_core isn't feasible here the following constant
|
|
||||||
# must match colcon_core.location.get_relative_package_index_path()
|
|
||||||
subdirectory = 'share/colcon-core/packages'
|
|
||||||
if merged_install:
|
|
||||||
# return if workspace is empty
|
|
||||||
if not (prefix_path / subdirectory).is_dir():
|
|
||||||
return packages
|
|
||||||
# find all files in the subdirectory
|
|
||||||
for p in (prefix_path / subdirectory).iterdir():
|
|
||||||
if not p.is_file():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
else:
|
|
||||||
# for each subdirectory look for the package specific file
|
|
||||||
for p in prefix_path.iterdir():
|
|
||||||
if not p.is_dir():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
p = p / subdirectory / p.name
|
|
||||||
if p.is_file():
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
|
|
||||||
# remove unknown dependencies
|
|
||||||
pkg_names = set(packages.keys())
|
|
||||||
for k in packages.keys():
|
|
||||||
packages[k] = {d for d in packages[k] if d in pkg_names}
|
|
||||||
|
|
||||||
return packages
|
|
||||||
|
|
||||||
|
|
||||||
def add_package_runtime_dependencies(path, packages):
|
|
||||||
"""
|
|
||||||
Check the path and if it exists extract the packages runtime dependencies.
|
|
||||||
|
|
||||||
:param Path path: The resource file containing the runtime dependencies
|
|
||||||
:param dict packages: A mapping from package names to the sets of runtime
|
|
||||||
dependencies to add to
|
|
||||||
"""
|
|
||||||
content = path.read_text()
|
|
||||||
dependencies = set(content.split(os.pathsep) if content else [])
|
|
||||||
packages[path.name] = dependencies
|
|
||||||
|
|
||||||
|
|
||||||
def order_packages(packages):
|
|
||||||
"""
|
|
||||||
Order packages topologically.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:returns: The package names
|
|
||||||
:rtype: list
|
|
||||||
"""
|
|
||||||
# select packages with no dependencies in alphabetical order
|
|
||||||
to_be_ordered = list(packages.keys())
|
|
||||||
ordered = []
|
|
||||||
while to_be_ordered:
|
|
||||||
pkg_names_without_deps = [
|
|
||||||
name for name in to_be_ordered if not packages[name]]
|
|
||||||
if not pkg_names_without_deps:
|
|
||||||
reduce_cycle_set(packages)
|
|
||||||
raise RuntimeError(
|
|
||||||
'Circular dependency between: ' + ', '.join(sorted(packages)))
|
|
||||||
pkg_names_without_deps.sort()
|
|
||||||
pkg_name = pkg_names_without_deps[0]
|
|
||||||
to_be_ordered.remove(pkg_name)
|
|
||||||
ordered.append(pkg_name)
|
|
||||||
# remove item from dependency lists
|
|
||||||
for k in list(packages.keys()):
|
|
||||||
if pkg_name in packages[k]:
|
|
||||||
packages[k].remove(pkg_name)
|
|
||||||
return ordered
|
|
||||||
|
|
||||||
|
|
||||||
def reduce_cycle_set(packages):
|
|
||||||
"""
|
|
||||||
Reduce the set of packages to the ones part of the circular dependency.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies which is modified in place
|
|
||||||
"""
|
|
||||||
last_depended = None
|
|
||||||
while len(packages) > 0:
|
|
||||||
# get all remaining dependencies
|
|
||||||
depended = set()
|
|
||||||
for pkg_name, dependencies in packages.items():
|
|
||||||
depended = depended.union(dependencies)
|
|
||||||
# remove all packages which are not dependent on
|
|
||||||
for name in list(packages.keys()):
|
|
||||||
if name not in depended:
|
|
||||||
del packages[name]
|
|
||||||
if last_depended:
|
|
||||||
# if remaining packages haven't changed return them
|
|
||||||
if last_depended == depended:
|
|
||||||
return packages.keys()
|
|
||||||
# otherwise reduce again
|
|
||||||
last_depended = depended
|
|
||||||
|
|
||||||
|
|
||||||
def _include_comments():
|
|
||||||
# skipping comment lines when COLCON_TRACE is not set speeds up the
|
|
||||||
# processing especially on Windows
|
|
||||||
return bool(os.environ.get('COLCON_TRACE'))
|
|
||||||
|
|
||||||
|
|
||||||
def get_commands(pkg_name, prefix, primary_extension, additional_extension):
|
|
||||||
commands = []
|
|
||||||
package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
|
|
||||||
if os.path.exists(package_dsv_path):
|
|
||||||
commands += process_dsv_file(
|
|
||||||
package_dsv_path, prefix, primary_extension, additional_extension)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def process_dsv_file(
|
|
||||||
dsv_path, prefix, primary_extension=None, additional_extension=None
|
|
||||||
):
|
|
||||||
commands = []
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
|
|
||||||
with open(dsv_path, 'r') as h:
|
|
||||||
content = h.read()
|
|
||||||
lines = content.splitlines()
|
|
||||||
|
|
||||||
basenames = OrderedDict()
|
|
||||||
for i, line in enumerate(lines):
|
|
||||||
# skip over empty or whitespace-only lines
|
|
||||||
if not line.strip():
|
|
||||||
continue
|
|
||||||
# skip over comments
|
|
||||||
if line.startswith('#'):
|
|
||||||
continue
|
|
||||||
try:
|
|
||||||
type_, remainder = line.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' doesn't contain a semicolon separating the "
|
|
||||||
'type from the arguments' % (i + 1, dsv_path))
|
|
||||||
if type_ != DSV_TYPE_SOURCE:
|
|
||||||
# handle non-source lines
|
|
||||||
try:
|
|
||||||
commands += handle_dsv_types_except_source(
|
|
||||||
type_, remainder, prefix)
|
|
||||||
except RuntimeError as e:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
|
|
||||||
else:
|
|
||||||
# group remaining source lines by basename
|
|
||||||
path_without_ext, ext = os.path.splitext(remainder)
|
|
||||||
if path_without_ext not in basenames:
|
|
||||||
basenames[path_without_ext] = set()
|
|
||||||
assert ext.startswith('.')
|
|
||||||
ext = ext[1:]
|
|
||||||
if ext in (primary_extension, additional_extension):
|
|
||||||
basenames[path_without_ext].add(ext)
|
|
||||||
|
|
||||||
# add the dsv extension to each basename if the file exists
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if os.path.exists(basename + '.dsv'):
|
|
||||||
extensions.add('dsv')
|
|
||||||
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if 'dsv' in extensions:
|
|
||||||
# process dsv files recursively
|
|
||||||
commands += process_dsv_file(
|
|
||||||
basename + '.dsv', prefix, primary_extension=primary_extension,
|
|
||||||
additional_extension=additional_extension)
|
|
||||||
elif primary_extension in extensions and len(extensions) == 1:
|
|
||||||
# source primary-only files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + primary_extension})]
|
|
||||||
elif additional_extension in extensions:
|
|
||||||
# source non-primary files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + additional_extension})]
|
|
||||||
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def handle_dsv_types_except_source(type_, remainder, prefix):
|
|
||||||
commands = []
|
|
||||||
if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
|
|
||||||
try:
|
|
||||||
env_name, value = remainder.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the value')
|
|
||||||
try_prefixed_value = os.path.join(prefix, value) if value else prefix
|
|
||||||
if os.path.exists(try_prefixed_value):
|
|
||||||
value = try_prefixed_value
|
|
||||||
if type_ == DSV_TYPE_SET:
|
|
||||||
commands += _set(env_name, value)
|
|
||||||
elif type_ == DSV_TYPE_SET_IF_UNSET:
|
|
||||||
commands += _set_if_unset(env_name, value)
|
|
||||||
else:
|
|
||||||
assert False
|
|
||||||
elif type_ in (
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
env_name_and_values = remainder.split(';')
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the values')
|
|
||||||
env_name = env_name_and_values[0]
|
|
||||||
values = env_name_and_values[1:]
|
|
||||||
for value in values:
|
|
||||||
if not value:
|
|
||||||
value = prefix
|
|
||||||
elif not os.path.isabs(value):
|
|
||||||
value = os.path.join(prefix, value)
|
|
||||||
if (
|
|
||||||
type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
|
|
||||||
not os.path.exists(value)
|
|
||||||
):
|
|
||||||
comment = f'skip extending {env_name} with not existing ' \
|
|
||||||
f'path: {value}'
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
|
|
||||||
elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
|
|
||||||
commands += _append_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
commands += _prepend_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
raise RuntimeError(
|
|
||||||
'contains an unknown environment hook type: ' + type_)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
env_state = {}
|
|
||||||
|
|
||||||
|
|
||||||
def _append_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# append even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional leading separator
|
|
||||||
extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': extend + value})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _prepend_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# prepend even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional trailing separator
|
|
||||||
extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value + extend})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
# generate commands for removing prepended underscores
|
|
||||||
def _remove_ending_separators():
|
|
||||||
# do nothing if the shell extension does not implement the logic
|
|
||||||
if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
|
|
||||||
return []
|
|
||||||
|
|
||||||
global env_state
|
|
||||||
commands = []
|
|
||||||
for name in env_state:
|
|
||||||
# skip variables that already had values before this script started prepending
|
|
||||||
if name in os.environ:
|
|
||||||
continue
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def _set(name, value):
|
|
||||||
global env_state
|
|
||||||
env_state[name] = value
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _set_if_unset(name, value):
|
|
||||||
global env_state
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
if env_state.get(name, os.environ.get(name)):
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__': # pragma: no cover
|
|
||||||
try:
|
|
||||||
rc = main()
|
|
||||||
except RuntimeError as e:
|
|
||||||
print(str(e), file=sys.stderr)
|
|
||||||
rc = 1
|
|
||||||
sys.exit(rc)
|
|
|
@ -1,407 +0,0 @@
|
||||||
# Copyright 2016-2019 Dirk Thomas
|
|
||||||
# Licensed under the Apache License, Version 2.0
|
|
||||||
|
|
||||||
import argparse
|
|
||||||
from collections import OrderedDict
|
|
||||||
import os
|
|
||||||
from pathlib import Path
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
FORMAT_STR_COMMENT_LINE = '# {comment}'
|
|
||||||
FORMAT_STR_SET_ENV_VAR = 'export {name}="{value}"'
|
|
||||||
FORMAT_STR_USE_ENV_VAR = '${name}'
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT = 'COLCON_CURRENT_PREFIX="{prefix}" _colcon_prefix_sh_source_script "{script_path}"'
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR = 'if [ "$(echo -n ${name} | head -c 1)" = ":" ]; then export {name}=${{{name}#?}} ; fi'
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR = 'if [ "$(echo -n ${name} | tail -c 1)" = ":" ]; then export {name}=${{{name}%?}} ; fi'
|
|
||||||
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE = 'append-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE = 'prepend-non-duplicate'
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS = 'prepend-non-duplicate-if-exists'
|
|
||||||
DSV_TYPE_SET = 'set'
|
|
||||||
DSV_TYPE_SET_IF_UNSET = 'set-if-unset'
|
|
||||||
DSV_TYPE_SOURCE = 'source'
|
|
||||||
|
|
||||||
|
|
||||||
def main(argv=sys.argv[1:]): # noqa: D103
|
|
||||||
parser = argparse.ArgumentParser(
|
|
||||||
description='Output shell commands for the packages in topological '
|
|
||||||
'order')
|
|
||||||
parser.add_argument(
|
|
||||||
'primary_extension',
|
|
||||||
help='The file extension of the primary shell')
|
|
||||||
parser.add_argument(
|
|
||||||
'additional_extension', nargs='?',
|
|
||||||
help='The additional file extension to be considered')
|
|
||||||
parser.add_argument(
|
|
||||||
'--merged-install', action='store_true',
|
|
||||||
help='All install prefixes are merged into a single location')
|
|
||||||
args = parser.parse_args(argv)
|
|
||||||
|
|
||||||
packages = get_packages(Path(__file__).parent, args.merged_install)
|
|
||||||
|
|
||||||
ordered_packages = order_packages(packages)
|
|
||||||
for pkg_name in ordered_packages:
|
|
||||||
if _include_comments():
|
|
||||||
print(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map(
|
|
||||||
{'comment': 'Package: ' + pkg_name}))
|
|
||||||
prefix = os.path.abspath(os.path.dirname(__file__))
|
|
||||||
if not args.merged_install:
|
|
||||||
prefix = os.path.join(prefix, pkg_name)
|
|
||||||
for line in get_commands(
|
|
||||||
pkg_name, prefix, args.primary_extension,
|
|
||||||
args.additional_extension
|
|
||||||
):
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
for line in _remove_ending_separators():
|
|
||||||
print(line)
|
|
||||||
|
|
||||||
|
|
||||||
def get_packages(prefix_path, merged_install):
|
|
||||||
"""
|
|
||||||
Find packages based on colcon-specific files created during installation.
|
|
||||||
|
|
||||||
:param Path prefix_path: The install prefix path of all packages
|
|
||||||
:param bool merged_install: The flag if the packages are all installed
|
|
||||||
directly in the prefix or if each package is installed in a subdirectory
|
|
||||||
named after the package
|
|
||||||
:returns: A mapping from the package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:rtype: dict
|
|
||||||
"""
|
|
||||||
packages = {}
|
|
||||||
# since importing colcon_core isn't feasible here the following constant
|
|
||||||
# must match colcon_core.location.get_relative_package_index_path()
|
|
||||||
subdirectory = 'share/colcon-core/packages'
|
|
||||||
if merged_install:
|
|
||||||
# return if workspace is empty
|
|
||||||
if not (prefix_path / subdirectory).is_dir():
|
|
||||||
return packages
|
|
||||||
# find all files in the subdirectory
|
|
||||||
for p in (prefix_path / subdirectory).iterdir():
|
|
||||||
if not p.is_file():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
else:
|
|
||||||
# for each subdirectory look for the package specific file
|
|
||||||
for p in prefix_path.iterdir():
|
|
||||||
if not p.is_dir():
|
|
||||||
continue
|
|
||||||
if p.name.startswith('.'):
|
|
||||||
continue
|
|
||||||
p = p / subdirectory / p.name
|
|
||||||
if p.is_file():
|
|
||||||
add_package_runtime_dependencies(p, packages)
|
|
||||||
|
|
||||||
# remove unknown dependencies
|
|
||||||
pkg_names = set(packages.keys())
|
|
||||||
for k in packages.keys():
|
|
||||||
packages[k] = {d for d in packages[k] if d in pkg_names}
|
|
||||||
|
|
||||||
return packages
|
|
||||||
|
|
||||||
|
|
||||||
def add_package_runtime_dependencies(path, packages):
|
|
||||||
"""
|
|
||||||
Check the path and if it exists extract the packages runtime dependencies.
|
|
||||||
|
|
||||||
:param Path path: The resource file containing the runtime dependencies
|
|
||||||
:param dict packages: A mapping from package names to the sets of runtime
|
|
||||||
dependencies to add to
|
|
||||||
"""
|
|
||||||
content = path.read_text()
|
|
||||||
dependencies = set(content.split(os.pathsep) if content else [])
|
|
||||||
packages[path.name] = dependencies
|
|
||||||
|
|
||||||
|
|
||||||
def order_packages(packages):
|
|
||||||
"""
|
|
||||||
Order packages topologically.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies
|
|
||||||
:returns: The package names
|
|
||||||
:rtype: list
|
|
||||||
"""
|
|
||||||
# select packages with no dependencies in alphabetical order
|
|
||||||
to_be_ordered = list(packages.keys())
|
|
||||||
ordered = []
|
|
||||||
while to_be_ordered:
|
|
||||||
pkg_names_without_deps = [
|
|
||||||
name for name in to_be_ordered if not packages[name]]
|
|
||||||
if not pkg_names_without_deps:
|
|
||||||
reduce_cycle_set(packages)
|
|
||||||
raise RuntimeError(
|
|
||||||
'Circular dependency between: ' + ', '.join(sorted(packages)))
|
|
||||||
pkg_names_without_deps.sort()
|
|
||||||
pkg_name = pkg_names_without_deps[0]
|
|
||||||
to_be_ordered.remove(pkg_name)
|
|
||||||
ordered.append(pkg_name)
|
|
||||||
# remove item from dependency lists
|
|
||||||
for k in list(packages.keys()):
|
|
||||||
if pkg_name in packages[k]:
|
|
||||||
packages[k].remove(pkg_name)
|
|
||||||
return ordered
|
|
||||||
|
|
||||||
|
|
||||||
def reduce_cycle_set(packages):
|
|
||||||
"""
|
|
||||||
Reduce the set of packages to the ones part of the circular dependency.
|
|
||||||
|
|
||||||
:param dict packages: A mapping from package name to the set of runtime
|
|
||||||
dependencies which is modified in place
|
|
||||||
"""
|
|
||||||
last_depended = None
|
|
||||||
while len(packages) > 0:
|
|
||||||
# get all remaining dependencies
|
|
||||||
depended = set()
|
|
||||||
for pkg_name, dependencies in packages.items():
|
|
||||||
depended = depended.union(dependencies)
|
|
||||||
# remove all packages which are not dependent on
|
|
||||||
for name in list(packages.keys()):
|
|
||||||
if name not in depended:
|
|
||||||
del packages[name]
|
|
||||||
if last_depended:
|
|
||||||
# if remaining packages haven't changed return them
|
|
||||||
if last_depended == depended:
|
|
||||||
return packages.keys()
|
|
||||||
# otherwise reduce again
|
|
||||||
last_depended = depended
|
|
||||||
|
|
||||||
|
|
||||||
def _include_comments():
|
|
||||||
# skipping comment lines when COLCON_TRACE is not set speeds up the
|
|
||||||
# processing especially on Windows
|
|
||||||
return bool(os.environ.get('COLCON_TRACE'))
|
|
||||||
|
|
||||||
|
|
||||||
def get_commands(pkg_name, prefix, primary_extension, additional_extension):
|
|
||||||
commands = []
|
|
||||||
package_dsv_path = os.path.join(prefix, 'share', pkg_name, 'package.dsv')
|
|
||||||
if os.path.exists(package_dsv_path):
|
|
||||||
commands += process_dsv_file(
|
|
||||||
package_dsv_path, prefix, primary_extension, additional_extension)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def process_dsv_file(
|
|
||||||
dsv_path, prefix, primary_extension=None, additional_extension=None
|
|
||||||
):
|
|
||||||
commands = []
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(FORMAT_STR_COMMENT_LINE.format_map({'comment': dsv_path}))
|
|
||||||
with open(dsv_path, 'r') as h:
|
|
||||||
content = h.read()
|
|
||||||
lines = content.splitlines()
|
|
||||||
|
|
||||||
basenames = OrderedDict()
|
|
||||||
for i, line in enumerate(lines):
|
|
||||||
# skip over empty or whitespace-only lines
|
|
||||||
if not line.strip():
|
|
||||||
continue
|
|
||||||
# skip over comments
|
|
||||||
if line.startswith('#'):
|
|
||||||
continue
|
|
||||||
try:
|
|
||||||
type_, remainder = line.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' doesn't contain a semicolon separating the "
|
|
||||||
'type from the arguments' % (i + 1, dsv_path))
|
|
||||||
if type_ != DSV_TYPE_SOURCE:
|
|
||||||
# handle non-source lines
|
|
||||||
try:
|
|
||||||
commands += handle_dsv_types_except_source(
|
|
||||||
type_, remainder, prefix)
|
|
||||||
except RuntimeError as e:
|
|
||||||
raise RuntimeError(
|
|
||||||
"Line %d in '%s' %s" % (i + 1, dsv_path, e)) from e
|
|
||||||
else:
|
|
||||||
# group remaining source lines by basename
|
|
||||||
path_without_ext, ext = os.path.splitext(remainder)
|
|
||||||
if path_without_ext not in basenames:
|
|
||||||
basenames[path_without_ext] = set()
|
|
||||||
assert ext.startswith('.')
|
|
||||||
ext = ext[1:]
|
|
||||||
if ext in (primary_extension, additional_extension):
|
|
||||||
basenames[path_without_ext].add(ext)
|
|
||||||
|
|
||||||
# add the dsv extension to each basename if the file exists
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if os.path.exists(basename + '.dsv'):
|
|
||||||
extensions.add('dsv')
|
|
||||||
|
|
||||||
for basename, extensions in basenames.items():
|
|
||||||
if not os.path.isabs(basename):
|
|
||||||
basename = os.path.join(prefix, basename)
|
|
||||||
if 'dsv' in extensions:
|
|
||||||
# process dsv files recursively
|
|
||||||
commands += process_dsv_file(
|
|
||||||
basename + '.dsv', prefix, primary_extension=primary_extension,
|
|
||||||
additional_extension=additional_extension)
|
|
||||||
elif primary_extension in extensions and len(extensions) == 1:
|
|
||||||
# source primary-only files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + primary_extension})]
|
|
||||||
elif additional_extension in extensions:
|
|
||||||
# source non-primary files
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_INVOKE_SCRIPT.format_map({
|
|
||||||
'prefix': prefix,
|
|
||||||
'script_path': basename + '.' + additional_extension})]
|
|
||||||
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def handle_dsv_types_except_source(type_, remainder, prefix):
|
|
||||||
commands = []
|
|
||||||
if type_ in (DSV_TYPE_SET, DSV_TYPE_SET_IF_UNSET):
|
|
||||||
try:
|
|
||||||
env_name, value = remainder.split(';', 1)
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the value')
|
|
||||||
try_prefixed_value = os.path.join(prefix, value) if value else prefix
|
|
||||||
if os.path.exists(try_prefixed_value):
|
|
||||||
value = try_prefixed_value
|
|
||||||
if type_ == DSV_TYPE_SET:
|
|
||||||
commands += _set(env_name, value)
|
|
||||||
elif type_ == DSV_TYPE_SET_IF_UNSET:
|
|
||||||
commands += _set_if_unset(env_name, value)
|
|
||||||
else:
|
|
||||||
assert False
|
|
||||||
elif type_ in (
|
|
||||||
DSV_TYPE_APPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE,
|
|
||||||
DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
env_name_and_values = remainder.split(';')
|
|
||||||
except ValueError:
|
|
||||||
raise RuntimeError(
|
|
||||||
"doesn't contain a semicolon separating the environment name "
|
|
||||||
'from the values')
|
|
||||||
env_name = env_name_and_values[0]
|
|
||||||
values = env_name_and_values[1:]
|
|
||||||
for value in values:
|
|
||||||
if not value:
|
|
||||||
value = prefix
|
|
||||||
elif not os.path.isabs(value):
|
|
||||||
value = os.path.join(prefix, value)
|
|
||||||
if (
|
|
||||||
type_ == DSV_TYPE_PREPEND_NON_DUPLICATE_IF_EXISTS and
|
|
||||||
not os.path.exists(value)
|
|
||||||
):
|
|
||||||
comment = f'skip extending {env_name} with not existing ' \
|
|
||||||
f'path: {value}'
|
|
||||||
if _include_comments():
|
|
||||||
commands.append(
|
|
||||||
FORMAT_STR_COMMENT_LINE.format_map({'comment': comment}))
|
|
||||||
elif type_ == DSV_TYPE_APPEND_NON_DUPLICATE:
|
|
||||||
commands += _append_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
commands += _prepend_unique_value(env_name, value)
|
|
||||||
else:
|
|
||||||
raise RuntimeError(
|
|
||||||
'contains an unknown environment hook type: ' + type_)
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
env_state = {}
|
|
||||||
|
|
||||||
|
|
||||||
def _append_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# append even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional leading separator
|
|
||||||
extend = FORMAT_STR_USE_ENV_VAR.format_map({'name': name}) + os.pathsep
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': extend + value})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _prepend_unique_value(name, value):
|
|
||||||
global env_state
|
|
||||||
if name not in env_state:
|
|
||||||
if os.environ.get(name):
|
|
||||||
env_state[name] = set(os.environ[name].split(os.pathsep))
|
|
||||||
else:
|
|
||||||
env_state[name] = set()
|
|
||||||
# prepend even if the variable has not been set yet, in case a shell script sets the
|
|
||||||
# same variable without the knowledge of this Python script.
|
|
||||||
# later _remove_ending_separators() will cleanup any unintentional trailing separator
|
|
||||||
extend = os.pathsep + FORMAT_STR_USE_ENV_VAR.format_map({'name': name})
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value + extend})
|
|
||||||
if value not in env_state[name]:
|
|
||||||
env_state[name].add(value)
|
|
||||||
else:
|
|
||||||
if not _include_comments():
|
|
||||||
return []
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
# generate commands for removing prepended underscores
|
|
||||||
def _remove_ending_separators():
|
|
||||||
# do nothing if the shell extension does not implement the logic
|
|
||||||
if FORMAT_STR_REMOVE_TRAILING_SEPARATOR is None:
|
|
||||||
return []
|
|
||||||
|
|
||||||
global env_state
|
|
||||||
commands = []
|
|
||||||
for name in env_state:
|
|
||||||
# skip variables that already had values before this script started prepending
|
|
||||||
if name in os.environ:
|
|
||||||
continue
|
|
||||||
commands += [
|
|
||||||
FORMAT_STR_REMOVE_LEADING_SEPARATOR.format_map({'name': name}),
|
|
||||||
FORMAT_STR_REMOVE_TRAILING_SEPARATOR.format_map({'name': name})]
|
|
||||||
return commands
|
|
||||||
|
|
||||||
|
|
||||||
def _set(name, value):
|
|
||||||
global env_state
|
|
||||||
env_state[name] = value
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
def _set_if_unset(name, value):
|
|
||||||
global env_state
|
|
||||||
line = FORMAT_STR_SET_ENV_VAR.format_map(
|
|
||||||
{'name': name, 'value': value})
|
|
||||||
if env_state.get(name, os.environ.get(name)):
|
|
||||||
line = FORMAT_STR_COMMENT_LINE.format_map({'comment': line})
|
|
||||||
return [line]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__': # pragma: no cover
|
|
||||||
try:
|
|
||||||
rc = main()
|
|
||||||
except RuntimeError as e:
|
|
||||||
print(str(e), file=sys.stderr)
|
|
||||||
rc = 1
|
|
||||||
sys.exit(rc)
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__builder.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_frame__functions.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_c/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_c.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_cpp/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_fastrtps_cpp.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_c/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_c.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_cpp/hesai_ros_driver/msg/detail/udp_frame__rosidl_typesupport_introspection_cpp.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_frame__struct.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__struct.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__traits.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_frame__type_support.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_frame__type_support.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__builder.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_packet__functions.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_c/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_c.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_cpp/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_fastrtps_cpp.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_c/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_c.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_cpp/hesai_ros_driver/msg/detail/udp_packet__rosidl_typesupport_introspection_cpp.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_packet__struct.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__struct.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__traits.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/detail/udp_packet__type_support.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/detail/udp_packet__type_support.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/rosidl_generator_c__visibility_control.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/rosidl_generator_cpp__visibility_control.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_c/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_c__visibility_control.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_fastrtps_cpp/hesai_ros_driver/msg/rosidl_typesupport_fastrtps_cpp__visibility_control.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_typesupport_introspection_c/hesai_ros_driver/msg/rosidl_typesupport_introspection_c__visibility_control.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/udp_frame.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/udp_frame.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_c/hesai_ros_driver/msg/udp_packet.h
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_cpp/hesai_ros_driver/msg/udp_packet.hpp
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/hesai_ros_driver_node
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/__init__.py
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/msg/__init__.py
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/msg/_udp_frame.py
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_generator_py/hesai_ros_driver/msg/_udp_packet.py
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/package_run_dependencies/hesai_ros_driver
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/packages/hesai_ros_driver
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/parent_prefix_path/hesai_ros_driver
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_index/share/ament_index/resource_index/rosidl_interfaces/hesai_ros_driver
|
|
|
@ -1 +0,0 @@
|
||||||
ament_index_cpp:rclcpp:rclcpp_action:sensor_msgs:std_msgs
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_dependencies/ament_cmake_export_dependencies-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_include_directories/ament_cmake_export_include_directories-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_libraries/ament_cmake_export_libraries-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_export_targets/ament_cmake_export_targets-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_core/hesai_ros_driverConfig-version.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_core/hesai_ros_driverConfig.cmake
|
|
|
@ -1,19 +0,0 @@
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file for configuration "Release".
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_generator_c" for configuration "Release"
|
|
||||||
set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_generator_c APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_generator_c PROPERTIES
|
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_generator_c.so"
|
|
||||||
IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_generator_c.so"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_generator_c )
|
|
||||||
list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_generator_c "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_generator_c.so" )
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
|
@ -1,99 +0,0 @@
|
||||||
# Generated by CMake
|
|
||||||
|
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
|
||||||
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
|
||||||
endif()
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(VERSION 2.6)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file.
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
||||||
set(_targetsDefined)
|
|
||||||
set(_targetsNotDefined)
|
|
||||||
set(_expectedTargets)
|
|
||||||
foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_generator_c)
|
|
||||||
list(APPEND _expectedTargets ${_expectedTarget})
|
|
||||||
if(NOT TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsNotDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
if(TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
if(NOT "${_targetsDefined}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
|
||||||
endif()
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
if(_IMPORT_PREFIX STREQUAL "/")
|
|
||||||
set(_IMPORT_PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_generator_c
|
|
||||||
add_library(hesai_ros_driver::hesai_ros_driver__rosidl_generator_c SHARED IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_generator_c PROPERTIES
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
||||||
INTERFACE_LINK_LIBRARIES "builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_interface::rosidl_typesupport_interface;rcutils::rcutils"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
||||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Load information for each installed configuration.
|
|
||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_generator_cExport-*.cmake")
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Cleanup temporary variables.
|
|
||||||
set(_IMPORT_PREFIX)
|
|
||||||
|
|
||||||
# Loop over all imported files and verify that they actually exist
|
|
||||||
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
|
||||||
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
|
||||||
if(NOT EXISTS "${file}" )
|
|
||||||
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
|
||||||
\"${file}\"
|
|
||||||
but this file does not exist. Possible reasons include:
|
|
||||||
* The file was deleted, renamed, or moved to another location.
|
|
||||||
* An install or uninstall procedure did not complete successfully.
|
|
||||||
* The installation package was faulty and contained
|
|
||||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
||||||
but not all the files it references.
|
|
||||||
")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_TARGETS)
|
|
||||||
|
|
||||||
# This file does not depend on other imported targets which have
|
|
||||||
# been exported from the same project but in a separate export set.
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
|
@ -1,99 +0,0 @@
|
||||||
# Generated by CMake
|
|
||||||
|
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
|
||||||
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
|
||||||
endif()
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(VERSION 2.6)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file.
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
||||||
set(_targetsDefined)
|
|
||||||
set(_targetsNotDefined)
|
|
||||||
set(_expectedTargets)
|
|
||||||
foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp)
|
|
||||||
list(APPEND _expectedTargets ${_expectedTarget})
|
|
||||||
if(NOT TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsNotDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
if(TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
if(NOT "${_targetsDefined}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
|
||||||
endif()
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
if(_IMPORT_PREFIX STREQUAL "/")
|
|
||||||
set(_IMPORT_PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp
|
|
||||||
add_library(hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp INTERFACE IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_generator_cpp PROPERTIES
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
||||||
INTERFACE_LINK_LIBRARIES "builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;rosidl_runtime_cpp::rosidl_runtime_cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 3.0.0)
|
|
||||||
message(FATAL_ERROR "This file relies on consumers using CMake 3.0.0 or greater.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Load information for each installed configuration.
|
|
||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_generator_cppExport-*.cmake")
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Cleanup temporary variables.
|
|
||||||
set(_IMPORT_PREFIX)
|
|
||||||
|
|
||||||
# Loop over all imported files and verify that they actually exist
|
|
||||||
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
|
||||||
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
|
||||||
if(NOT EXISTS "${file}" )
|
|
||||||
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
|
||||||
\"${file}\"
|
|
||||||
but this file does not exist. Possible reasons include:
|
|
||||||
* The file was deleted, renamed, or moved to another location.
|
|
||||||
* An install or uninstall procedure did not complete successfully.
|
|
||||||
* The installation package was faulty and contained
|
|
||||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
||||||
but not all the files it references.
|
|
||||||
")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_TARGETS)
|
|
||||||
|
|
||||||
# This file does not depend on other imported targets which have
|
|
||||||
# been exported from the same project but in a separate export set.
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
|
@ -1,19 +0,0 @@
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file for configuration "Release".
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c" for configuration "Release"
|
|
||||||
set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c PROPERTIES
|
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_c.so"
|
|
||||||
IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_c.so"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c )
|
|
||||||
list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_c.so" )
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
|
@ -1,99 +0,0 @@
|
||||||
# Generated by CMake
|
|
||||||
|
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
|
||||||
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
|
||||||
endif()
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(VERSION 2.6)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file.
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
||||||
set(_targetsDefined)
|
|
||||||
set(_targetsNotDefined)
|
|
||||||
set(_expectedTargets)
|
|
||||||
foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c)
|
|
||||||
list(APPEND _expectedTargets ${_expectedTarget})
|
|
||||||
if(NOT TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsNotDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
if(TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
if(NOT "${_targetsDefined}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
|
||||||
endif()
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
if(_IMPORT_PREFIX STREQUAL "/")
|
|
||||||
set(_IMPORT_PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c
|
|
||||||
add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c SHARED IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_c PROPERTIES
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
||||||
INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_c::rosidl_typesupport_c;rosidl_typesupport_interface::rosidl_typesupport_interface;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
||||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Load information for each installed configuration.
|
|
||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_cExport-*.cmake")
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Cleanup temporary variables.
|
|
||||||
set(_IMPORT_PREFIX)
|
|
||||||
|
|
||||||
# Loop over all imported files and verify that they actually exist
|
|
||||||
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
|
||||||
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
|
||||||
if(NOT EXISTS "${file}" )
|
|
||||||
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
|
||||||
\"${file}\"
|
|
||||||
but this file does not exist. Possible reasons include:
|
|
||||||
* The file was deleted, renamed, or moved to another location.
|
|
||||||
* An install or uninstall procedure did not complete successfully.
|
|
||||||
* The installation package was faulty and contained
|
|
||||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
||||||
but not all the files it references.
|
|
||||||
")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_TARGETS)
|
|
||||||
|
|
||||||
# This file does not depend on other imported targets which have
|
|
||||||
# been exported from the same project but in a separate export set.
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
|
@ -1,19 +0,0 @@
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file for configuration "Release".
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp" for configuration "Release"
|
|
||||||
set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp PROPERTIES
|
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_cpp.so"
|
|
||||||
IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_cpp.so"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp )
|
|
||||||
list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_cpp.so" )
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
|
@ -1,99 +0,0 @@
|
||||||
# Generated by CMake
|
|
||||||
|
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
|
||||||
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
|
||||||
endif()
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(VERSION 2.6)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file.
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
||||||
set(_targetsDefined)
|
|
||||||
set(_targetsNotDefined)
|
|
||||||
set(_expectedTargets)
|
|
||||||
foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp)
|
|
||||||
list(APPEND _expectedTargets ${_expectedTarget})
|
|
||||||
if(NOT TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsNotDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
if(TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
if(NOT "${_targetsDefined}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
|
||||||
endif()
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
if(_IMPORT_PREFIX STREQUAL "/")
|
|
||||||
set(_IMPORT_PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp
|
|
||||||
add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp SHARED IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_cpp PROPERTIES
|
|
||||||
INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
||||||
INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_runtime_cpp::rosidl_runtime_cpp;rosidl_typesupport_cpp::rosidl_typesupport_cpp;rosidl_typesupport_interface::rosidl_typesupport_interface;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
||||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Load information for each installed configuration.
|
|
||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_cppExport-*.cmake")
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Cleanup temporary variables.
|
|
||||||
set(_IMPORT_PREFIX)
|
|
||||||
|
|
||||||
# Loop over all imported files and verify that they actually exist
|
|
||||||
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
|
||||||
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
|
||||||
if(NOT EXISTS "${file}" )
|
|
||||||
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
|
||||||
\"${file}\"
|
|
||||||
but this file does not exist. Possible reasons include:
|
|
||||||
* The file was deleted, renamed, or moved to another location.
|
|
||||||
* An install or uninstall procedure did not complete successfully.
|
|
||||||
* The installation package was faulty and contained
|
|
||||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
||||||
but not all the files it references.
|
|
||||||
")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_TARGETS)
|
|
||||||
|
|
||||||
# This file does not depend on other imported targets which have
|
|
||||||
# been exported from the same project but in a separate export set.
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
|
@ -1,19 +0,0 @@
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file for configuration "Release".
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c" for configuration "Release"
|
|
||||||
set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c PROPERTIES
|
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_c.so"
|
|
||||||
IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_introspection_c.so"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c )
|
|
||||||
list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_c.so" )
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
|
@ -1,114 +0,0 @@
|
||||||
# Generated by CMake
|
|
||||||
|
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
|
||||||
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
|
||||||
endif()
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(VERSION 2.6)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file.
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
||||||
set(_targetsDefined)
|
|
||||||
set(_targetsNotDefined)
|
|
||||||
set(_expectedTargets)
|
|
||||||
foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c)
|
|
||||||
list(APPEND _expectedTargets ${_expectedTarget})
|
|
||||||
if(NOT TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsNotDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
if(TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
if(NOT "${_targetsDefined}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
|
||||||
endif()
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
if(_IMPORT_PREFIX STREQUAL "/")
|
|
||||||
set(_IMPORT_PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c
|
|
||||||
add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c SHARED IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_c PROPERTIES
|
|
||||||
INTERFACE_LINK_LIBRARIES "hesai_ros_driver::hesai_ros_driver__rosidl_generator_c;rosidl_typesupport_introspection_c::rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_c"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
||||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Load information for each installed configuration.
|
|
||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_introspection_cExport-*.cmake")
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Cleanup temporary variables.
|
|
||||||
set(_IMPORT_PREFIX)
|
|
||||||
|
|
||||||
# Loop over all imported files and verify that they actually exist
|
|
||||||
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
|
||||||
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
|
||||||
if(NOT EXISTS "${file}" )
|
|
||||||
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
|
||||||
\"${file}\"
|
|
||||||
but this file does not exist. Possible reasons include:
|
|
||||||
* The file was deleted, renamed, or moved to another location.
|
|
||||||
* An install or uninstall procedure did not complete successfully.
|
|
||||||
* The installation package was faulty and contained
|
|
||||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
||||||
but not all the files it references.
|
|
||||||
")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_TARGETS)
|
|
||||||
|
|
||||||
# Make sure the targets which have been exported in some other
|
|
||||||
# export set exist.
|
|
||||||
unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
|
|
||||||
foreach(_target "hesai_ros_driver::hesai_ros_driver__rosidl_generator_c" )
|
|
||||||
if(NOT TARGET "${_target}" )
|
|
||||||
set(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets "${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets} ${_target}")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if(DEFINED ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
|
|
||||||
if(CMAKE_FIND_PACKAGE_NAME)
|
|
||||||
set( ${CMAKE_FIND_PACKAGE_NAME}_FOUND FALSE)
|
|
||||||
set( ${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}")
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "The following imported targets are referenced, but are missing: ${${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets}")
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
unset(${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE_targets)
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
|
@ -1,19 +0,0 @@
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file for configuration "Release".
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Import target "hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp" for configuration "Release"
|
|
||||||
set_property(TARGET hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp PROPERTIES
|
|
||||||
IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_cpp.so"
|
|
||||||
IMPORTED_SONAME_RELEASE "libhesai_ros_driver__rosidl_typesupport_introspection_cpp.so"
|
|
||||||
)
|
|
||||||
|
|
||||||
list(APPEND _IMPORT_CHECK_TARGETS hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp )
|
|
||||||
list(APPEND _IMPORT_CHECK_FILES_FOR_hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp "${_IMPORT_PREFIX}/lib/libhesai_ros_driver__rosidl_typesupport_introspection_cpp.so" )
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
|
@ -1,98 +0,0 @@
|
||||||
# Generated by CMake
|
|
||||||
|
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 2.5)
|
|
||||||
message(FATAL_ERROR "CMake >= 2.6.0 required")
|
|
||||||
endif()
|
|
||||||
cmake_policy(PUSH)
|
|
||||||
cmake_policy(VERSION 2.6)
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
# Generated CMake target import file.
|
|
||||||
#----------------------------------------------------------------
|
|
||||||
|
|
||||||
# Commands may need to know the format version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION 1)
|
|
||||||
|
|
||||||
# Protect against multiple inclusion, which would fail when already imported targets are added once more.
|
|
||||||
set(_targetsDefined)
|
|
||||||
set(_targetsNotDefined)
|
|
||||||
set(_expectedTargets)
|
|
||||||
foreach(_expectedTarget hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp)
|
|
||||||
list(APPEND _expectedTargets ${_expectedTarget})
|
|
||||||
if(NOT TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsNotDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
if(TARGET ${_expectedTarget})
|
|
||||||
list(APPEND _targetsDefined ${_expectedTarget})
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
if("${_targetsDefined}" STREQUAL "${_expectedTargets}")
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
||||||
return()
|
|
||||||
endif()
|
|
||||||
if(NOT "${_targetsDefined}" STREQUAL "")
|
|
||||||
message(FATAL_ERROR "Some (but not all) targets in this export set were already defined.\nTargets Defined: ${_targetsDefined}\nTargets not yet defined: ${_targetsNotDefined}\n")
|
|
||||||
endif()
|
|
||||||
unset(_targetsDefined)
|
|
||||||
unset(_targetsNotDefined)
|
|
||||||
unset(_expectedTargets)
|
|
||||||
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
|
|
||||||
if(_IMPORT_PREFIX STREQUAL "/")
|
|
||||||
set(_IMPORT_PREFIX "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Create imported target hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp
|
|
||||||
add_library(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp SHARED IMPORTED)
|
|
||||||
|
|
||||||
set_target_properties(hesai_ros_driver::hesai_ros_driver__rosidl_typesupport_introspection_cpp PROPERTIES
|
|
||||||
INTERFACE_LINK_LIBRARIES "rosidl_runtime_c::rosidl_runtime_c;rosidl_typesupport_interface::rosidl_typesupport_interface;rosidl_typesupport_introspection_cpp::rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_generator_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_c;builtin_interfaces::builtin_interfaces__rosidl_typesupport_c;builtin_interfaces::builtin_interfaces__rosidl_generator_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_cpp;builtin_interfaces::builtin_interfaces__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_generator_c;std_msgs::std_msgs__rosidl_typesupport_introspection_c;std_msgs::std_msgs__rosidl_typesupport_c;std_msgs::std_msgs__rosidl_generator_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp;std_msgs::std_msgs__rosidl_typesupport_cpp;std_msgs::std_msgs__rosidl_typesupport_introspection_cpp"
|
|
||||||
)
|
|
||||||
|
|
||||||
if(CMAKE_VERSION VERSION_LESS 2.8.12)
|
|
||||||
message(FATAL_ERROR "This file relies on consumers using CMake 2.8.12 or greater.")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Load information for each installed configuration.
|
|
||||||
get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
|
|
||||||
file(GLOB CONFIG_FILES "${_DIR}/hesai_ros_driver__rosidl_typesupport_introspection_cppExport-*.cmake")
|
|
||||||
foreach(f ${CONFIG_FILES})
|
|
||||||
include(${f})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
# Cleanup temporary variables.
|
|
||||||
set(_IMPORT_PREFIX)
|
|
||||||
|
|
||||||
# Loop over all imported files and verify that they actually exist
|
|
||||||
foreach(target ${_IMPORT_CHECK_TARGETS} )
|
|
||||||
foreach(file ${_IMPORT_CHECK_FILES_FOR_${target}} )
|
|
||||||
if(NOT EXISTS "${file}" )
|
|
||||||
message(FATAL_ERROR "The imported target \"${target}\" references the file
|
|
||||||
\"${file}\"
|
|
||||||
but this file does not exist. Possible reasons include:
|
|
||||||
* The file was deleted, renamed, or moved to another location.
|
|
||||||
* An install or uninstall procedure did not complete successfully.
|
|
||||||
* The installation package was faulty and contained
|
|
||||||
\"${CMAKE_CURRENT_LIST_FILE}\"
|
|
||||||
but not all the files it references.
|
|
||||||
")
|
|
||||||
endif()
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_FILES_FOR_${target})
|
|
||||||
endforeach()
|
|
||||||
unset(_IMPORT_CHECK_TARGETS)
|
|
||||||
|
|
||||||
# This file does not depend on other imported targets which have
|
|
||||||
# been exported from the same project but in a separate export set.
|
|
||||||
|
|
||||||
# Commands beyond this point should not need to know the version.
|
|
||||||
set(CMAKE_IMPORT_FILE_VERSION)
|
|
||||||
cmake_policy(POP)
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_cmake/rosidl_cmake-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_cmake/rosidl_cmake_export_typesupport_libraries-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_cmake/rosidl_cmake_export_typesupport_targets-extras.cmake
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/ament_prefix_path.dsv
|
|
|
@ -1 +0,0 @@
|
||||||
/opt/ros/foxy/share/ament_cmake_core/cmake/environment_hooks/environment/ament_prefix_path.sh
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/library_path.dsv
|
|
|
@ -1 +0,0 @@
|
||||||
/opt/ros/foxy/lib/python3.8/site-packages/ament_package/template/environment_hook/library_path.sh
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/path.dsv
|
|
|
@ -1 +0,0 @@
|
||||||
/opt/ros/foxy/share/ament_cmake_core/cmake/environment_hooks/environment/path.sh
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/pythonpath.dsv
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/pythonpath.sh
|
|
|
@ -1 +0,0 @@
|
||||||
prepend-non-duplicate;CMAKE_PREFIX_PATH;
|
|
|
@ -1,3 +0,0 @@
|
||||||
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
|
||||||
|
|
||||||
colcon_prepend_unique_value CMAKE_PREFIX_PATH "$env:COLCON_CURRENT_PREFIX"
|
|
|
@ -1,3 +0,0 @@
|
||||||
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
|
||||||
|
|
||||||
_colcon_prepend_unique_value CMAKE_PREFIX_PATH "$COLCON_CURRENT_PREFIX"
|
|
|
@ -1 +0,0 @@
|
||||||
prepend-non-duplicate;LD_LIBRARY_PATH;lib
|
|
|
@ -1,3 +0,0 @@
|
||||||
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
|
||||||
|
|
||||||
colcon_prepend_unique_value LD_LIBRARY_PATH "$env:COLCON_CURRENT_PREFIX\lib"
|
|
|
@ -1,3 +0,0 @@
|
||||||
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
|
||||||
|
|
||||||
_colcon_prepend_unique_value LD_LIBRARY_PATH "$COLCON_CURRENT_PREFIX/lib"
|
|
|
@ -1 +0,0 @@
|
||||||
prepend-non-duplicate;PYTHONPATH;lib/python3.8/site-packages
|
|
|
@ -1,3 +0,0 @@
|
||||||
# generated from colcon_powershell/shell/template/hook_prepend_value.ps1.em
|
|
||||||
|
|
||||||
colcon_prepend_unique_value PYTHONPATH "$env:COLCON_CURRENT_PREFIX\lib/python3.8/site-packages"
|
|
|
@ -1,3 +0,0 @@
|
||||||
# generated from colcon_core/shell/template/hook_prepend_value.sh.em
|
|
||||||
|
|
||||||
_colcon_prepend_unique_value PYTHONPATH "$COLCON_CURRENT_PREFIX/lib/python3.8/site-packages"
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/launch/dashing_start.py
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/launch/start.launch
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/launch/start.py
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.bash
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.dsv
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.sh
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/ament_cmake_environment_hooks/local_setup.zsh
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_adapter/hesai_ros_driver/msg/UdpFrame.idl
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/build/hesai_ros_driver/rosidl_adapter/hesai_ros_driver/msg/UdpPacket.idl
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/msg/msg_ros2/UdpFrame.msg
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/msg/msg_ros2/UdpPacket.msg
|
|
|
@ -1,39 +0,0 @@
|
||||||
# generated from colcon_bash/shell/template/package.bash.em
|
|
||||||
|
|
||||||
# This script extends the environment for this package.
|
|
||||||
|
|
||||||
# a bash script is able to determine its own path if necessary
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
# the prefix is two levels up from the package specific share directory
|
|
||||||
_colcon_package_bash_COLCON_CURRENT_PREFIX="$(builtin cd "`dirname "${BASH_SOURCE[0]}"`/../.." > /dev/null && pwd)"
|
|
||||||
else
|
|
||||||
_colcon_package_bash_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
_colcon_package_bash_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "# . \"$1\""
|
|
||||||
fi
|
|
||||||
. "$@"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source sh script of this package
|
|
||||||
_colcon_package_bash_source_script "$_colcon_package_bash_COLCON_CURRENT_PREFIX/share/hesai_ros_driver/package.sh"
|
|
||||||
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts
|
|
||||||
COLCON_CURRENT_PREFIX="$_colcon_package_bash_COLCON_CURRENT_PREFIX"
|
|
||||||
|
|
||||||
# source bash hooks
|
|
||||||
_colcon_package_bash_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/local_setup.bash"
|
|
||||||
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
||||||
|
|
||||||
unset _colcon_package_bash_source_script
|
|
||||||
unset _colcon_package_bash_COLCON_CURRENT_PREFIX
|
|
|
@ -1,14 +0,0 @@
|
||||||
source;share/hesai_ros_driver/hook/cmake_prefix_path.ps1
|
|
||||||
source;share/hesai_ros_driver/hook/cmake_prefix_path.dsv
|
|
||||||
source;share/hesai_ros_driver/hook/cmake_prefix_path.sh
|
|
||||||
source;share/hesai_ros_driver/hook/ld_library_path_lib.ps1
|
|
||||||
source;share/hesai_ros_driver/hook/ld_library_path_lib.dsv
|
|
||||||
source;share/hesai_ros_driver/hook/ld_library_path_lib.sh
|
|
||||||
source;share/hesai_ros_driver/hook/pythonpath.ps1
|
|
||||||
source;share/hesai_ros_driver/hook/pythonpath.dsv
|
|
||||||
source;share/hesai_ros_driver/hook/pythonpath.sh
|
|
||||||
source;share/hesai_ros_driver/local_setup.bash
|
|
||||||
source;share/hesai_ros_driver/local_setup.dsv
|
|
||||||
source;share/hesai_ros_driver/local_setup.ps1
|
|
||||||
source;share/hesai_ros_driver/local_setup.sh
|
|
||||||
source;share/hesai_ros_driver/local_setup.zsh
|
|
|
@ -1,118 +0,0 @@
|
||||||
# generated from colcon_powershell/shell/template/package.ps1.em
|
|
||||||
|
|
||||||
# function to append a value to a variable
|
|
||||||
# which uses colons as separators
|
|
||||||
# duplicates as well as leading separators are avoided
|
|
||||||
# first argument: the name of the result variable
|
|
||||||
# second argument: the value to be prepended
|
|
||||||
function colcon_append_unique_value {
|
|
||||||
param (
|
|
||||||
$_listname,
|
|
||||||
$_value
|
|
||||||
)
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
if (Test-Path Env:$_listname) {
|
|
||||||
$_values=(Get-Item env:$_listname).Value
|
|
||||||
} else {
|
|
||||||
$_values=""
|
|
||||||
}
|
|
||||||
$_duplicate=""
|
|
||||||
# start with no values
|
|
||||||
$_all_values=""
|
|
||||||
# iterate over existing values in the variable
|
|
||||||
if ($_values) {
|
|
||||||
$_values.Split(";") | ForEach {
|
|
||||||
# not an empty string
|
|
||||||
if ($_) {
|
|
||||||
# not a duplicate of _value
|
|
||||||
if ($_ -eq $_value) {
|
|
||||||
$_duplicate="1"
|
|
||||||
}
|
|
||||||
if ($_all_values) {
|
|
||||||
$_all_values="${_all_values};$_"
|
|
||||||
} else {
|
|
||||||
$_all_values="$_"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# append only non-duplicates
|
|
||||||
if (!$_duplicate) {
|
|
||||||
# avoid leading separator
|
|
||||||
if ($_all_values) {
|
|
||||||
$_all_values="${_all_values};${_value}"
|
|
||||||
} else {
|
|
||||||
$_all_values="${_value}"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# export the updated variable
|
|
||||||
Set-Item env:\$_listname -Value "$_all_values"
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to prepend a value to a variable
|
|
||||||
# which uses colons as separators
|
|
||||||
# duplicates as well as trailing separators are avoided
|
|
||||||
# first argument: the name of the result variable
|
|
||||||
# second argument: the value to be prepended
|
|
||||||
function colcon_prepend_unique_value {
|
|
||||||
param (
|
|
||||||
$_listname,
|
|
||||||
$_value
|
|
||||||
)
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
if (Test-Path Env:$_listname) {
|
|
||||||
$_values=(Get-Item env:$_listname).Value
|
|
||||||
} else {
|
|
||||||
$_values=""
|
|
||||||
}
|
|
||||||
# start with the new value
|
|
||||||
$_all_values="$_value"
|
|
||||||
# iterate over existing values in the variable
|
|
||||||
if ($_values) {
|
|
||||||
$_values.Split(";") | ForEach {
|
|
||||||
# not an empty string
|
|
||||||
if ($_) {
|
|
||||||
# not a duplicate of _value
|
|
||||||
if ($_ -ne $_value) {
|
|
||||||
# keep non-duplicate values
|
|
||||||
$_all_values="${_all_values};$_"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
# export the updated variable
|
|
||||||
Set-Item env:\$_listname -Value "$_all_values"
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
function colcon_package_source_powershell_script {
|
|
||||||
param (
|
|
||||||
$_colcon_package_source_powershell_script
|
|
||||||
)
|
|
||||||
# source script with conditional trace output
|
|
||||||
if (Test-Path $_colcon_package_source_powershell_script) {
|
|
||||||
if ($env:COLCON_TRACE) {
|
|
||||||
echo ". '$_colcon_package_source_powershell_script'"
|
|
||||||
}
|
|
||||||
. "$_colcon_package_source_powershell_script"
|
|
||||||
} else {
|
|
||||||
Write-Error "not found: '$_colcon_package_source_powershell_script'"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# a powershell script is able to determine its own path
|
|
||||||
# the prefix is two levels up from the package specific share directory
|
|
||||||
$env:COLCON_CURRENT_PREFIX=(Get-Item $PSCommandPath).Directory.Parent.Parent.FullName
|
|
||||||
|
|
||||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/hook/cmake_prefix_path.ps1"
|
|
||||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/hook/ld_library_path_lib.ps1"
|
|
||||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/hook/pythonpath.ps1"
|
|
||||||
colcon_package_source_powershell_script "$env:COLCON_CURRENT_PREFIX\share/hesai_ros_driver/local_setup.ps1"
|
|
||||||
|
|
||||||
Remove-Item Env:\COLCON_CURRENT_PREFIX
|
|
|
@ -1,89 +0,0 @@
|
||||||
# generated from colcon_core/shell/template/package.sh.em
|
|
||||||
|
|
||||||
# This script extends the environment for this package.
|
|
||||||
|
|
||||||
# function to prepend a value to a variable
|
|
||||||
# which uses colons as separators
|
|
||||||
# duplicates as well as trailing separators are avoided
|
|
||||||
# first argument: the name of the result variable
|
|
||||||
# second argument: the value to be prepended
|
|
||||||
_colcon_prepend_unique_value() {
|
|
||||||
# arguments
|
|
||||||
_listname="$1"
|
|
||||||
_value="$2"
|
|
||||||
|
|
||||||
# get values from variable
|
|
||||||
eval _values=\"\$$_listname\"
|
|
||||||
# backup the field separator
|
|
||||||
_colcon_prepend_unique_value_IFS=$IFS
|
|
||||||
IFS=":"
|
|
||||||
# start with the new value
|
|
||||||
_all_values="$_value"
|
|
||||||
# workaround SH_WORD_SPLIT not being set in zsh
|
|
||||||
if [ "$(command -v colcon_zsh_convert_to_array)" ]; then
|
|
||||||
colcon_zsh_convert_to_array _values
|
|
||||||
fi
|
|
||||||
# iterate over existing values in the variable
|
|
||||||
for _item in $_values; do
|
|
||||||
# ignore empty strings
|
|
||||||
if [ -z "$_item" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# ignore duplicates of _value
|
|
||||||
if [ "$_item" = "$_value" ]; then
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
# keep non-duplicate values
|
|
||||||
_all_values="$_all_values:$_item"
|
|
||||||
done
|
|
||||||
unset _item
|
|
||||||
# restore the field separator
|
|
||||||
IFS=$_colcon_prepend_unique_value_IFS
|
|
||||||
unset _colcon_prepend_unique_value_IFS
|
|
||||||
# export the updated variable
|
|
||||||
eval export $_listname=\"$_all_values\"
|
|
||||||
unset _all_values
|
|
||||||
unset _values
|
|
||||||
|
|
||||||
unset _value
|
|
||||||
unset _listname
|
|
||||||
}
|
|
||||||
|
|
||||||
# since a plain shell script can't determine its own path when being sourced
|
|
||||||
# either use the provided COLCON_CURRENT_PREFIX
|
|
||||||
# or fall back to the build time prefix (if it exists)
|
|
||||||
_colcon_package_sh_COLCON_CURRENT_PREFIX="/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/install/hesai_ros_driver"
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
if [ ! -d "$_colcon_package_sh_COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
echo "The build time path \"$_colcon_package_sh_COLCON_CURRENT_PREFIX\" doesn't exist. Either source a script for a different shell or set the environment variable \"COLCON_CURRENT_PREFIX\" explicitly." 1>&2
|
|
||||||
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
COLCON_CURRENT_PREFIX="$_colcon_package_sh_COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
unset _colcon_package_sh_COLCON_CURRENT_PREFIX
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
_colcon_package_sh_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "# . \"$1\""
|
|
||||||
fi
|
|
||||||
. "$@"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# source sh hooks
|
|
||||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/hook/cmake_prefix_path.sh"
|
|
||||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/hook/ld_library_path_lib.sh"
|
|
||||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/hook/pythonpath.sh"
|
|
||||||
_colcon_package_sh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/local_setup.sh"
|
|
||||||
|
|
||||||
unset _colcon_package_sh_source_script
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
||||||
|
|
||||||
# do not unset _colcon_prepend_unique_value since it might be used by non-primary shell hooks
|
|
|
@ -1 +0,0 @@
|
||||||
/home/unitree/locomotion/Go2Py/deploy/dock_ws/src/lidar_node/package.xml
|
|
|
@ -1,50 +0,0 @@
|
||||||
# generated from colcon_zsh/shell/template/package.zsh.em
|
|
||||||
|
|
||||||
# This script extends the environment for this package.
|
|
||||||
|
|
||||||
# a zsh script is able to determine its own path if necessary
|
|
||||||
if [ -z "$COLCON_CURRENT_PREFIX" ]; then
|
|
||||||
# the prefix is two levels up from the package specific share directory
|
|
||||||
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$(builtin cd -q "`dirname "${(%):-%N}"`/../.." > /dev/null && pwd)"
|
|
||||||
else
|
|
||||||
_colcon_package_zsh_COLCON_CURRENT_PREFIX="$COLCON_CURRENT_PREFIX"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# function to source another script with conditional trace output
|
|
||||||
# first argument: the path of the script
|
|
||||||
# additional arguments: arguments to the script
|
|
||||||
_colcon_package_zsh_source_script() {
|
|
||||||
if [ -f "$1" ]; then
|
|
||||||
if [ -n "$COLCON_TRACE" ]; then
|
|
||||||
echo "# . \"$1\""
|
|
||||||
fi
|
|
||||||
. "$@"
|
|
||||||
else
|
|
||||||
echo "not found: \"$1\"" 1>&2
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# function to convert array-like strings into arrays
|
|
||||||
# to workaround SH_WORD_SPLIT not being set
|
|
||||||
colcon_zsh_convert_to_array() {
|
|
||||||
local _listname=$1
|
|
||||||
local _dollar="$"
|
|
||||||
local _split="{="
|
|
||||||
local _to_array="(\"$_dollar$_split$_listname}\")"
|
|
||||||
eval $_listname=$_to_array
|
|
||||||
}
|
|
||||||
|
|
||||||
# source sh script of this package
|
|
||||||
_colcon_package_zsh_source_script "$_colcon_package_zsh_COLCON_CURRENT_PREFIX/share/hesai_ros_driver/package.sh"
|
|
||||||
unset convert_zsh_to_array
|
|
||||||
|
|
||||||
# setting COLCON_CURRENT_PREFIX avoids determining the prefix in the sourced scripts
|
|
||||||
COLCON_CURRENT_PREFIX="$_colcon_package_zsh_COLCON_CURRENT_PREFIX"
|
|
||||||
|
|
||||||
# source zsh hooks
|
|
||||||
_colcon_package_zsh_source_script "$COLCON_CURRENT_PREFIX/share/hesai_ros_driver/local_setup.zsh"
|
|
||||||
|
|
||||||
unset COLCON_CURRENT_PREFIX
|
|
||||||
|
|
||||||
unset _colcon_package_zsh_source_script
|
|
||||||
unset _colcon_package_zsh_COLCON_CURRENT_PREFIX
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue