catkin: updating to 0.5.73
The catkin recipe was updated to 0.5.73 to be in line with
4551e7c32d/hydro/release.yaml
.
The previously applied patch has been included in 0.5.73 and is
removed from the recipe and this repository.
This commit is contained in:
parent
2d056bff2a
commit
8f4d4ad2a6
|
@ -1,515 +0,0 @@
|
||||||
From a0d699a08f10424adad38eee25673c9a66120ec4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dirk Thomas <dthomas@osrfoundation.org>
|
|
||||||
Date: Thu, 25 Jul 2013 14:54:43 -0700
|
|
||||||
Subject: [PATCH 1/4] modify logic of sourcing env hooks to provide context of
|
|
||||||
workspace to each env hook (#490)
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/templates/_setup_util.py.in | 26 +++++++++++++++++++++-----
|
|
||||||
cmake/templates/setup.sh.in | 34 +++++++++++-----------------------
|
|
||||||
2 files changed, 32 insertions(+), 28 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/templates/_setup_util.py.in b/cmake/templates/_setup_util.py.in
|
|
||||||
index 6957b10..e7e57ee 100755
|
|
||||||
--- a/cmake/templates/_setup_util.py.in
|
|
||||||
+++ b/cmake/templates/_setup_util.py.in
|
|
||||||
@@ -200,7 +200,9 @@ def find_env_hooks(environ, cmake_prefix_path):
|
|
||||||
lines.append(comment('found environment hooks in workspaces'))
|
|
||||||
|
|
||||||
generic_env_hooks = []
|
|
||||||
+ generic_env_hooks_workspace = []
|
|
||||||
specific_env_hooks = []
|
|
||||||
+ specific_env_hooks_workspace = []
|
|
||||||
generic_env_hooks_by_filename = {}
|
|
||||||
specific_env_hooks_by_filename = {}
|
|
||||||
generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh'
|
|
||||||
@@ -212,18 +214,32 @@ def find_env_hooks(environ, cmake_prefix_path):
|
|
||||||
if os.path.isdir(env_hook_dir):
|
|
||||||
for filename in sorted(os.listdir(env_hook_dir)):
|
|
||||||
if filename.endswith('.%s' % generic_env_hook_ext):
|
|
||||||
- generic_env_hooks.append(os.path.join(env_hook_dir, filename))
|
|
||||||
# remove previous env hook with same name if present
|
|
||||||
if filename in generic_env_hooks_by_filename:
|
|
||||||
- generic_env_hooks.remove(generic_env_hooks_by_filename[filename])
|
|
||||||
+ i = generic_env_hooks.index(generic_env_hooks_by_filename[filename])
|
|
||||||
+ generic_env_hooks.pop(i)
|
|
||||||
+ generic_env_hooks_workspace.pop(i)
|
|
||||||
+ # append env hook
|
|
||||||
+ generic_env_hooks.append(os.path.join(env_hook_dir, filename))
|
|
||||||
+ generic_env_hooks_workspace.append(workspace)
|
|
||||||
generic_env_hooks_by_filename[filename] = generic_env_hooks[-1]
|
|
||||||
elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext):
|
|
||||||
- specific_env_hooks.append(os.path.join(env_hook_dir, filename))
|
|
||||||
# remove previous env hook with same name if present
|
|
||||||
if filename in specific_env_hooks_by_filename:
|
|
||||||
- specific_env_hooks.remove(specific_env_hooks_by_filename[filename])
|
|
||||||
+ i = specific_env_hooks.index(specific_env_hooks_by_filename[filename])
|
|
||||||
+ specific_env_hooks.pop(i)
|
|
||||||
+ specific_env_hooks_workspace.pop(i)
|
|
||||||
+ # append env hook
|
|
||||||
+ specific_env_hooks.append(os.path.join(env_hook_dir, filename))
|
|
||||||
+ specific_env_hooks_workspace.append(workspace)
|
|
||||||
specific_env_hooks_by_filename[filename] = specific_env_hooks[-1]
|
|
||||||
- lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS', os.pathsep.join(generic_env_hooks + specific_env_hooks)))
|
|
||||||
+ env_hooks = generic_env_hooks + specific_env_hooks
|
|
||||||
+ env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace
|
|
||||||
+ count = len(env_hooks)
|
|
||||||
+ lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count))
|
|
||||||
+ for i in range(count):
|
|
||||||
+ lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i]))
|
|
||||||
+ lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i]))
|
|
||||||
return lines
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/cmake/templates/setup.sh.in b/cmake/templates/setup.sh.in
|
|
||||||
index c29adf5..fa28dfb 100644
|
|
||||||
--- a/cmake/templates/setup.sh.in
|
|
||||||
+++ b/cmake/templates/setup.sh.in
|
|
||||||
@@ -47,30 +47,18 @@ CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ > $_SETUP_TMP
|
|
||||||
. $_SETUP_TMP
|
|
||||||
rm -f $_SETUP_TMP
|
|
||||||
|
|
||||||
-# save value of IFS, including if it was unset
|
|
||||||
-# the "+x" syntax helps differentiate unset from empty
|
|
||||||
-_IFS=$IFS
|
|
||||||
-if [ -z ${IFS+x} ]; then
|
|
||||||
- _IFS_WAS_UNSET=1
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
# source all environment hooks
|
|
||||||
-IFS=":"
|
|
||||||
-for _envfile in $_CATKIN_ENVIRONMENT_HOOKS; do
|
|
||||||
- # restore value of IFS, including if it was unset
|
|
||||||
- IFS=$_IFS
|
|
||||||
- if [ $_IFS_WAS_UNSET ]; then
|
|
||||||
- unset IFS
|
|
||||||
- fi
|
|
||||||
+_i=0
|
|
||||||
+while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do
|
|
||||||
+ eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i
|
|
||||||
+ unset _CATKIN_ENVIRONMENT_HOOKS_$_i
|
|
||||||
+ eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE
|
|
||||||
+ unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE
|
|
||||||
+ # set workspace for environment hook
|
|
||||||
+ CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace
|
|
||||||
. "$_envfile"
|
|
||||||
+ unset CATKIN_ENV_HOOK_WORKSPACE
|
|
||||||
+ _i=$((_i + 1))
|
|
||||||
done
|
|
||||||
|
|
||||||
-# restore value of IFS, including if it was unset
|
|
||||||
-IFS=$_IFS
|
|
||||||
-if [ $_IFS_WAS_UNSET ]; then
|
|
||||||
- unset IFS
|
|
||||||
- unset _IFS_WAS_UNSET
|
|
||||||
-fi
|
|
||||||
-unset _IFS
|
|
||||||
-
|
|
||||||
-unset _CATKIN_ENVIRONMENT_HOOKS
|
|
||||||
+unset _CATKIN_ENVIRONMENT_HOOKS_COUNT
|
|
||||||
--
|
|
||||||
1.8.1.6
|
|
||||||
|
|
||||||
|
|
||||||
From 644daf7443bf3f3ed3f178800478cb5724298a16 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dirk Thomas <dthomas@osrfoundation.org>
|
|
||||||
Date: Thu, 25 Jul 2013 17:01:11 -0700
|
|
||||||
Subject: [PATCH 2/4] update shell scripts to define or allow override
|
|
||||||
CATKIN_SETUP_DIR (#490)
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/templates/_setup_util.py.in | 15 ++++++++-------
|
|
||||||
cmake/templates/env.sh.in | 8 +++++---
|
|
||||||
cmake/templates/setup.bash.in | 5 ++++-
|
|
||||||
cmake/templates/setup.sh.in | 5 ++++-
|
|
||||||
cmake/templates/setup.zsh.in | 3 ++-
|
|
||||||
5 files changed, 23 insertions(+), 13 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/templates/_setup_util.py.in b/cmake/templates/_setup_util.py.in
|
|
||||||
index e7e57ee..0d3c86a 100755
|
|
||||||
--- a/cmake/templates/_setup_util.py.in
|
|
||||||
+++ b/cmake/templates/_setup_util.py.in
|
|
||||||
@@ -41,13 +41,6 @@ import os
|
|
||||||
import platform
|
|
||||||
import sys
|
|
||||||
|
|
||||||
-# environment at generation time
|
|
||||||
-CMAKE_PREFIX_PATH = '@CMAKE_PREFIX_PATH_AS_IS@'.split(';')
|
|
||||||
-setup_dir = '@SETUP_DIR@'
|
|
||||||
-if setup_dir and setup_dir not in CMAKE_PREFIX_PATH:
|
|
||||||
- CMAKE_PREFIX_PATH.insert(0, setup_dir)
|
|
||||||
-CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH)
|
|
||||||
-
|
|
||||||
CATKIN_MARKER_FILE = '.catkin'
|
|
||||||
|
|
||||||
system = platform.system()
|
|
||||||
@@ -256,6 +249,14 @@ if __name__ == '__main__':
|
|
||||||
print(e, file=sys.stderr)
|
|
||||||
exit(1)
|
|
||||||
|
|
||||||
+ # environment at generation time
|
|
||||||
+ CMAKE_PREFIX_PATH = '@CMAKE_PREFIX_PATH_AS_IS@'.split(';')
|
|
||||||
+ # prepend current workspace if not already part of CPP
|
|
||||||
+ base_path = os.path.dirname(__file__)
|
|
||||||
+ if base_path not in CMAKE_PREFIX_PATH:
|
|
||||||
+ CMAKE_PREFIX_PATH.insert(0, base_path)
|
|
||||||
+ CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH)
|
|
||||||
+
|
|
||||||
environ = dict(os.environ)
|
|
||||||
lines = []
|
|
||||||
if not args.extend:
|
|
||||||
diff --git a/cmake/templates/env.sh.in b/cmake/templates/env.sh.in
|
|
||||||
index 5d04650..ad259ea 100755
|
|
||||||
--- a/cmake/templates/env.sh.in
|
|
||||||
+++ b/cmake/templates/env.sh.in
|
|
||||||
@@ -5,7 +5,9 @@ if [ $# -eq 0 ] ; then
|
|
||||||
/bin/echo "Usage: env.sh COMMANDS"
|
|
||||||
/bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually."
|
|
||||||
exit 1
|
|
||||||
-else
|
|
||||||
- . "@SETUP_DIR@/@SETUP_FILENAME@.sh"
|
|
||||||
- exec "$@"
|
|
||||||
fi
|
|
||||||
+
|
|
||||||
+# source @SETUP_FILENAME@.sh from same directory as this file
|
|
||||||
+CATKIN_SETUP_DIR=$(cd `dirname $0`;pwd)
|
|
||||||
+. "$CATKIN_SETUP_DIR/@SETUP_FILENAME@.sh"
|
|
||||||
+exec "$@"
|
|
||||||
diff --git a/cmake/templates/setup.bash.in b/cmake/templates/setup.bash.in
|
|
||||||
index 078fd13..97e9e70 100644
|
|
||||||
--- a/cmake/templates/setup.bash.in
|
|
||||||
+++ b/cmake/templates/setup.bash.in
|
|
||||||
@@ -2,4 +2,7 @@
|
|
||||||
# generated from catkin/cmake/templates/setup.bash.in
|
|
||||||
|
|
||||||
CATKIN_SHELL=bash
|
|
||||||
-. "@SETUP_DIR@/setup.sh"
|
|
||||||
+
|
|
||||||
+# source setup.sh from same directory as this file
|
|
||||||
+CATKIN_SETUP_DIR=$(cd `dirname ${BASH_SOURCE[0]}`;pwd)
|
|
||||||
+. "$CATKIN_SETUP_DIR/setup.sh"
|
|
||||||
diff --git a/cmake/templates/setup.sh.in b/cmake/templates/setup.sh.in
|
|
||||||
index fa28dfb..66b91ca 100644
|
|
||||||
--- a/cmake/templates/setup.sh.in
|
|
||||||
+++ b/cmake/templates/setup.sh.in
|
|
||||||
@@ -6,7 +6,10 @@
|
|
||||||
# Supported command line options:
|
|
||||||
# --extend: skips the undoing of changes from a previously sourced setup file
|
|
||||||
|
|
||||||
-_SETUP_UTIL="@SETUP_DIR@/_setup_util.py"
|
|
||||||
+# since this file is sourced either use the provided CATKIN_SETUP_DIR
|
|
||||||
+# or fall back to the destination set at configure time
|
|
||||||
+: ${CATKIN_SETUP_DIR:=@SETUP_DIR@}
|
|
||||||
+_SETUP_UTIL="$CATKIN_SETUP_DIR/_setup_util.py"
|
|
||||||
|
|
||||||
if [ ! -f "$_SETUP_UTIL" ]; then
|
|
||||||
echo "Missing Python script: $_SETUP_UTIL"
|
|
||||||
diff --git a/cmake/templates/setup.zsh.in b/cmake/templates/setup.zsh.in
|
|
||||||
index 220d1fb..5e681e4 100644
|
|
||||||
--- a/cmake/templates/setup.zsh.in
|
|
||||||
+++ b/cmake/templates/setup.zsh.in
|
|
||||||
@@ -2,6 +2,7 @@
|
|
||||||
# generated from catkin/cmake/templates/setup.zsh.in
|
|
||||||
|
|
||||||
CATKIN_SHELL=zsh
|
|
||||||
+CATKIN_SETUP_DIR=$(cd `dirname $0`;pwd)
|
|
||||||
emulate sh # emulate POSIX
|
|
||||||
-. "@SETUP_DIR@/setup.sh"
|
|
||||||
+. "$CATKIN_SETUP_DIR/setup.sh"
|
|
||||||
emulate zsh # back to zsh mode
|
|
||||||
--
|
|
||||||
1.8.1.6
|
|
||||||
|
|
||||||
|
|
||||||
From 198c7b8afafc4e92ed912959e299935b301ac434 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dirk Thomas <dthomas@osrfoundation.org>
|
|
||||||
Date: Thu, 25 Jul 2013 17:02:08 -0700
|
|
||||||
Subject: [PATCH 3/4] update exported include dirs in generated cmake config
|
|
||||||
files to not contain absolute paths (#490)
|
|
||||||
|
|
||||||
---
|
|
||||||
cmake/catkin_package.cmake | 2 +-
|
|
||||||
cmake/templates/pkgConfig.cmake.in | 7 +++++--
|
|
||||||
2 files changed, 6 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake
|
|
||||||
index 574bce9..a543864 100644
|
|
||||||
--- a/cmake/catkin_package.cmake
|
|
||||||
+++ b/cmake/catkin_package.cmake
|
|
||||||
@@ -434,7 +434,7 @@ function(_catkin_package)
|
|
||||||
# absolute path to include dir under install prefix if any include dir is set
|
|
||||||
set(PROJECT_ABSOLUTE_INCLUDE_DIRS "")
|
|
||||||
if(NOT "${PROJECT_INCLUDE_DIRS}" STREQUAL "")
|
|
||||||
- set(PROJECT_ABSOLUTE_INCLUDE_DIRS ${PKG_INCLUDE_PREFIX}/include)
|
|
||||||
+ set(PROJECT_ABSOLUTE_INCLUDE_DIRS "${CATKIN_GLOBAL_INCLUDE_DESTINATION}")
|
|
||||||
endif()
|
|
||||||
if(PROJECT_DEPENDENCIES_INCLUDE_DIRS)
|
|
||||||
list(APPEND PROJECT_ABSOLUTE_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
|
|
||||||
diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in
|
|
||||||
index dce3158..334e5f2 100644
|
|
||||||
--- a/cmake/templates/pkgConfig.cmake.in
|
|
||||||
+++ b/cmake/templates/pkgConfig.cmake.in
|
|
||||||
@@ -89,8 +89,11 @@ if(NOT "@PROJECT_ABSOLUTE_INCLUDE_DIRS@" STREQUAL "")
|
|
||||||
foreach(idir ${absolute_include_dirs})
|
|
||||||
if(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir})
|
|
||||||
set(include ${idir})
|
|
||||||
- elseif(IS_DIRECTORY @PKG_INCLUDE_PREFIX@/${idir})
|
|
||||||
- set(include @PKG_INCLUDE_PREFIX@/${idir})
|
|
||||||
+ elseif("${idir}" STREQUAL "${CATKIN_GLOBAL_INCLUDE_DESTINATION}")
|
|
||||||
+ get_filename_component(include "${@PROJECT_NAME@_DIR}/../../../${CATKIN_GLOBAL_INCLUDE_DESTINATION}" ABSOLUTE)
|
|
||||||
+ if(NOT IS_DIRECTORY ${include})
|
|
||||||
+ message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does not exist in '${include}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.")
|
|
||||||
+ endif()
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '@PKG_INCLUDE_PREFIX@/${idir}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.")
|
|
||||||
endif()
|
|
||||||
--
|
|
||||||
1.8.1.6
|
|
||||||
|
|
||||||
|
|
||||||
From 8067802506d0b66926b665ee301ca6ce77ab3deb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Dirk Thomas <dthomas@osrfoundation.org>
|
|
||||||
Date: Thu, 25 Jul 2013 17:06:48 -0700
|
|
||||||
Subject: [PATCH 4/4] update catkin_make_isolated to support installation with
|
|
||||||
DESTDIR (#490)
|
|
||||||
|
|
||||||
---
|
|
||||||
bin/catkin_make_isolated | 5 +++-
|
|
||||||
python/catkin/builder.py | 63 +++++++++++++++++++++++++++++++++---------------
|
|
||||||
2 files changed, 47 insertions(+), 21 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/bin/catkin_make_isolated b/bin/catkin_make_isolated
|
|
||||||
index 25ed5db..6ea7d4d 100755
|
|
||||||
--- a/bin/catkin_make_isolated
|
|
||||||
+++ b/bin/catkin_make_isolated
|
|
||||||
@@ -107,6 +107,8 @@ def main():
|
|
||||||
if not sys.stdout.isatty():
|
|
||||||
opts.no_color = True
|
|
||||||
|
|
||||||
+ destdir = os.environ['DESTDIR'] if 'DESTDIR' in os.environ else None
|
|
||||||
+
|
|
||||||
build_workspace_isolated(
|
|
||||||
workspace=opts.workspace or '.',
|
|
||||||
sourcespace=opts.source,
|
|
||||||
@@ -122,7 +124,8 @@ def main():
|
|
||||||
cmake_args=cmake_args,
|
|
||||||
make_args=opts.make_args,
|
|
||||||
catkin_make_args=opts.catkin_make_args,
|
|
||||||
- continue_from_pkg=opts.from_package is not None
|
|
||||||
+ continue_from_pkg=opts.from_package is not None,
|
|
||||||
+ destdir=destdir
|
|
||||||
)
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
diff --git a/python/catkin/builder.py b/python/catkin/builder.py
|
|
||||||
index b157d6e..932e720 100644
|
|
||||||
--- a/python/catkin/builder.py
|
|
||||||
+++ b/python/catkin/builder.py
|
|
||||||
@@ -163,18 +163,23 @@ def print_command_banner(cmd, cwd, color):
|
|
||||||
print('####')
|
|
||||||
|
|
||||||
|
|
||||||
-def run_command_colorized(cmd, cwd, quiet=False):
|
|
||||||
- run_command(cmd, cwd, quiet=quiet, colorize=True)
|
|
||||||
+def run_command_colorized(cmd, cwd, quiet=False, add_env=None):
|
|
||||||
+ run_command(cmd, cwd, quiet=quiet, colorize=True, add_env=add_env)
|
|
||||||
|
|
||||||
|
|
||||||
-def run_command(cmd, cwd, quiet=False, colorize=False):
|
|
||||||
+def run_command(cmd, cwd, quiet=False, colorize=False, add_env=None):
|
|
||||||
capture = (quiet or colorize)
|
|
||||||
stdout_pipe = subprocess.PIPE if capture else None
|
|
||||||
stderr_pipe = subprocess.STDOUT if capture else None
|
|
||||||
+ env = None
|
|
||||||
+ if add_env:
|
|
||||||
+ env = copy.copy(os.environ)
|
|
||||||
+ env.update(add_env)
|
|
||||||
try:
|
|
||||||
proc = subprocess.Popen(
|
|
||||||
cmd, cwd=cwd, shell=False,
|
|
||||||
- stdout=stdout_pipe, stderr=stderr_pipe
|
|
||||||
+ stdout=stdout_pipe, stderr=stderr_pipe,
|
|
||||||
+ env=env
|
|
||||||
)
|
|
||||||
except OSError as e:
|
|
||||||
raise OSError("Failed command '%s': %s" % (cmd, e))
|
|
||||||
@@ -213,10 +218,11 @@ def _check_build_dir(name, workspace, buildspace):
|
|
||||||
return package_build_dir
|
|
||||||
|
|
||||||
|
|
||||||
-def isolation_print_command(cmd, path=None):
|
|
||||||
+def isolation_print_command(cmd, path=None, add_env=None):
|
|
||||||
cprint(
|
|
||||||
blue_arrow + " " + sanitize(cmd) + "@|" +
|
|
||||||
- (" @!@{kf}in@| '@!" + sanitize(path) + "@|'" if path else '')
|
|
||||||
+ (" @!@{kf}in@| '@!" + sanitize(path) + "@|'" if path else '') +
|
|
||||||
+ (" @!@{kf}with@| '@!" + ' '.join(['%s=%s' % (k, v) for k, v in add_env.items()]) + "@|'" if add_env else '')
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
@@ -280,7 +286,8 @@ def extract_jobs_flags(mflags):
|
|
||||||
def build_catkin_package(
|
|
||||||
path, package,
|
|
||||||
workspace, buildspace, develspace, installspace,
|
|
||||||
- install, force_cmake, quiet, last_env, cmake_args, make_args
|
|
||||||
+ install, force_cmake, quiet, last_env, cmake_args, make_args,
|
|
||||||
+ destdir=None
|
|
||||||
):
|
|
||||||
cprint(
|
|
||||||
"Processing @{cf}catkin@| package: '@!@{bf}" +
|
|
||||||
@@ -324,11 +331,12 @@ def build_catkin_package(
|
|
||||||
'-DCMAKE_INSTALL_PREFIX=' + installspace
|
|
||||||
]
|
|
||||||
cmake_cmd.extend(cmake_args)
|
|
||||||
- isolation_print_command(' '.join(cmake_cmd), build_dir)
|
|
||||||
+ add_env = get_additional_environment(install, destdir, installspace)
|
|
||||||
+ isolation_print_command(' '.join(cmake_cmd), build_dir, add_env=add_env)
|
|
||||||
if last_env is not None:
|
|
||||||
cmake_cmd = [last_env] + cmake_cmd
|
|
||||||
try:
|
|
||||||
- run_command_colorized(cmake_cmd, build_dir, quiet)
|
|
||||||
+ run_command_colorized(cmake_cmd, build_dir, quiet, add_env=add_env)
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
if os.path.exists(makefile):
|
|
||||||
# remove Makefile to force CMake invocation next time
|
|
||||||
@@ -338,11 +346,12 @@ def build_catkin_package(
|
|
||||||
print('Makefile exists, skipping explicit cmake invocation...')
|
|
||||||
# Check to see if cmake needs to be run via make
|
|
||||||
make_check_cmake_cmd = ['make', 'cmake_check_build_system']
|
|
||||||
- isolation_print_command(' '.join(make_check_cmake_cmd), build_dir)
|
|
||||||
+ add_env = get_additional_environment(install, destdir, installspace)
|
|
||||||
+ isolation_print_command(' '.join(make_check_cmake_cmd), build_dir, add_env=add_env)
|
|
||||||
if last_env is not None:
|
|
||||||
make_check_cmake_cmd = [last_env] + make_check_cmake_cmd
|
|
||||||
run_command_colorized(
|
|
||||||
- make_check_cmake_cmd, build_dir, quiet
|
|
||||||
+ make_check_cmake_cmd, build_dir, quiet, add_env=add_env
|
|
||||||
)
|
|
||||||
|
|
||||||
# Run make
|
|
||||||
@@ -372,10 +381,18 @@ def has_make_target(path, target):
|
|
||||||
return target in targets
|
|
||||||
|
|
||||||
|
|
||||||
+def get_additional_environment(install, destdir, installspace):
|
|
||||||
+ add_env = {}
|
|
||||||
+ if install and destdir:
|
|
||||||
+ add_env['CATKIN_SETUP_DIR'] = os.path.join(destdir, installspace[1:])
|
|
||||||
+ return add_env
|
|
||||||
+
|
|
||||||
+
|
|
||||||
def build_cmake_package(
|
|
||||||
path, package,
|
|
||||||
workspace, buildspace, develspace, installspace,
|
|
||||||
- install, force_cmake, quiet, last_env, cmake_args, make_args
|
|
||||||
+ install, force_cmake, quiet, last_env, cmake_args, make_args,
|
|
||||||
+ destdir=None
|
|
||||||
):
|
|
||||||
# Notify the user that we are processing a plain cmake package
|
|
||||||
cprint(
|
|
||||||
@@ -496,19 +513,21 @@ def build_package(
|
|
||||||
path, package,
|
|
||||||
workspace, buildspace, develspace, installspace,
|
|
||||||
install, force_cmake, quiet, last_env, cmake_args, make_args, catkin_make_args,
|
|
||||||
+ destdir=None,
|
|
||||||
number=None, of=None
|
|
||||||
):
|
|
||||||
if platform.system() in ['Linux', 'Darwin']:
|
|
||||||
status_msg = '{package_name} [{number} of {total}]'.format(package_name=package.name, number=number, total=of)
|
|
||||||
sys.stdout.write("\x1b]2;" + status_msg + "\x07")
|
|
||||||
cprint('@!@{gf}==>@| ', end='')
|
|
||||||
- new_last_env = get_new_env(package, develspace, installspace, install, last_env)
|
|
||||||
+ new_last_env = get_new_env(package, develspace, installspace, install, last_env, destdir)
|
|
||||||
build_type = _get_build_type(package)
|
|
||||||
if build_type == 'catkin':
|
|
||||||
build_catkin_package(
|
|
||||||
path, package,
|
|
||||||
workspace, buildspace, develspace, installspace,
|
|
||||||
- install, force_cmake, quiet, last_env, cmake_args, make_args + catkin_make_args
|
|
||||||
+ install, force_cmake, quiet, last_env, cmake_args, make_args + catkin_make_args,
|
|
||||||
+ destdir=destdir
|
|
||||||
)
|
|
||||||
if not os.path.exists(new_last_env):
|
|
||||||
raise RuntimeError(
|
|
||||||
@@ -521,7 +540,8 @@ def build_package(
|
|
||||||
build_cmake_package(
|
|
||||||
path, package,
|
|
||||||
workspace, buildspace, develspace, installspace,
|
|
||||||
- install, force_cmake, quiet, last_env, cmake_args, make_args
|
|
||||||
+ install, force_cmake, quiet, last_env, cmake_args, make_args,
|
|
||||||
+ destdir=destdir
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
sys.exit('Can not build package with unknown build_type')
|
|
||||||
@@ -534,7 +554,7 @@ def build_package(
|
|
||||||
return new_last_env
|
|
||||||
|
|
||||||
|
|
||||||
-def get_new_env(package, develspace, installspace, install, last_env):
|
|
||||||
+def get_new_env(package, develspace, installspace, install, last_env, destdir=None):
|
|
||||||
new_env = None
|
|
||||||
build_type = _get_build_type(package)
|
|
||||||
if build_type in ['catkin', 'cmake']:
|
|
||||||
@@ -542,6 +562,8 @@ def get_new_env(package, develspace, installspace, install, last_env):
|
|
||||||
installspace if install else develspace,
|
|
||||||
'env.sh'
|
|
||||||
)
|
|
||||||
+ if destdir is not None:
|
|
||||||
+ new_env = os.path.join(destdir, new_env[1:])
|
|
||||||
return new_env
|
|
||||||
|
|
||||||
|
|
||||||
@@ -572,7 +594,8 @@ def build_workspace_isolated(
|
|
||||||
cmake_args=None,
|
|
||||||
make_args=None,
|
|
||||||
catkin_make_args=None,
|
|
||||||
- continue_from_pkg=False
|
|
||||||
+ continue_from_pkg=False,
|
|
||||||
+ destdir=None
|
|
||||||
):
|
|
||||||
'''
|
|
||||||
Runs ``cmake``, ``make`` and optionally ``make install`` for all
|
|
||||||
@@ -603,6 +626,7 @@ def build_workspace_isolated(
|
|
||||||
packages, ``[str]``
|
|
||||||
:param continue_from_pkg: indicates whether or not cmi should continue
|
|
||||||
when a package is reached, ``bool``
|
|
||||||
+ :param destdir: define DESTDIR for cmake/invocation, ``string``
|
|
||||||
'''
|
|
||||||
if not colorize:
|
|
||||||
disable_ANSI_colors()
|
|
||||||
@@ -738,6 +762,7 @@ def build_workspace_isolated(
|
|
||||||
workspace, buildspace, pkg_develspace, installspace,
|
|
||||||
install, force_cmake or (install_toggled and is_cmake_package),
|
|
||||||
quiet, last_env, cmake_args, make_args, catkin_make_args,
|
|
||||||
+ destdir=destdir,
|
|
||||||
number=index + 1, of=len(ordered_packages)
|
|
||||||
)
|
|
||||||
except subprocess.CalledProcessError as e:
|
|
||||||
@@ -758,7 +783,7 @@ def build_workspace_isolated(
|
|
||||||
sys.exit('Command failed, exiting.')
|
|
||||||
else:
|
|
||||||
cprint("Skipping package: '@!@{bf}" + package.name + "@|'")
|
|
||||||
- last_env = get_new_env(package, pkg_develspace, installspace, install, last_env)
|
|
||||||
+ last_env = get_new_env(package, pkg_develspace, installspace, install, last_env, destdir)
|
|
||||||
|
|
||||||
# Provide a top level devel space environment setup script
|
|
||||||
if not os.path.exists(develspace):
|
|
||||||
@@ -793,7 +818,6 @@ def build_workspace_isolated(
|
|
||||||
'CATKIN_GLOBAL_LIB_DESTINATION': 'lib',
|
|
||||||
'CMAKE_PREFIX_PATH_AS_IS': ';'.join(os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep)),
|
|
||||||
'PYTHON_INSTALL_DIR': get_python_install_dir(),
|
|
||||||
- 'SETUP_DIR': '',
|
|
||||||
}
|
|
||||||
with open(generated_setup_util_py, 'w') as f:
|
|
||||||
f.write(configure_file(os.path.join(get_cmake_path(), 'templates', '_setup_util.py.in'), variables))
|
|
||||||
@@ -802,7 +826,6 @@ def build_workspace_isolated(
|
|
||||||
sys.exit("Unable to process CMAKE_PREFIX_PATH from environment. Cannot generate environment files.")
|
|
||||||
|
|
||||||
variables = {
|
|
||||||
- 'SETUP_DIR': develspace,
|
|
||||||
'SETUP_FILENAME': 'setup'
|
|
||||||
}
|
|
||||||
with open(generated_env_sh, 'w') as f:
|
|
||||||
--
|
|
||||||
1.8.1.6
|
|
||||||
|
|
|
@ -3,15 +3,12 @@ SECTION = "devel"
|
||||||
LICENSE = "BSD"
|
LICENSE = "BSD"
|
||||||
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
|
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5"
|
||||||
|
|
||||||
PR = "r1"
|
|
||||||
|
|
||||||
DEPENDS = "cmake python-empy python-catkin-pkg python-empy-native python-catkin-pkg-native"
|
DEPENDS = "cmake python-empy python-catkin-pkg python-empy-native python-catkin-pkg-native"
|
||||||
|
|
||||||
SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
|
SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz"
|
||||||
SRC_URI[md5sum] = "1c30ac4fcc82ce2aedf610ea972ab4d2"
|
SRC_URI[md5sum] = "ea720dbabb693235f7377165aec55381"
|
||||||
SRC_URI[sha256sum] = "2494dbe3446fe94a55f57c74260e072f97d72944d89610fe4994dbc79cf1a561"
|
SRC_URI[sha256sum] = "7f45a2889c80754f60995225f0378733bfc013a0549f25c98415b475eba560ae"
|
||||||
|
|
||||||
SRC_URI += "file://0001-modify-logic-of-sourcing-env-hooks-to-provide-contex.patch"
|
|
||||||
SRC_URI += "file://0001-CATKIN_WORKSPACES-Don-t-require-.catkin-file.patch"
|
SRC_URI += "file://0001-CATKIN_WORKSPACES-Don-t-require-.catkin-file.patch"
|
||||||
|
|
||||||
inherit catkin
|
inherit catkin
|
Loading…
Reference in New Issue