summaryrefslogtreecommitdiff
blob: c5f40db51cd19129cf9eb7311241fca3c0cd2fa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Allow CATKIN_PREFIX_PATH to work as CMAKE_PREFIX_PATH:
When building with SYSROOT!=/, CMAKE_PREFIX_PATH is the same as with SYSROOT=/
but we need to find packages in SYSROOT.

Index: catkin_pkg-0.2.8/src/catkin_pkg/workspaces.py
===================================================================
--- catkin_pkg-0.2.8.orig/src/catkin_pkg/workspaces.py
+++ catkin_pkg-0.2.8/src/catkin_pkg/workspaces.py
@@ -42,15 +42,16 @@ CATKIN_WORKSPACE_MARKER_FILE = '.catkin_
 
 def get_spaces(paths=None):
     """
-    Return a list of spaces based on the CMAKE_PREFIX_PATH or passed in list of workspaces.
+    Return a list of spaces based on the CMAKE_PREFIX_PATH/CATKIN_PREFIX_PATH or passed in list of workspaces.
     It resolves the source space for each devel space and ignores non-catkin paths.
     :param paths_to_order: list of paths
     :param prefix_paths: list of prefixes, must not end with '/'
     """
     if paths is None:
-        if 'CMAKE_PREFIX_PATH' not in os.environ:
-            raise RuntimeError('Neither the environment variable CMAKE_PREFIX_PATH is set nor was a list of paths passed.')
+        if 'CMAKE_PREFIX_PATH' not in os.environ and 'CATKIN_PREFIX_PATH' not in os.environ :
+            raise RuntimeError('None of the environment variables CMAKE_PREFIX_PATH or CATKIN_PREFIX_PATH are set nor was a list of paths passed.')
         paths = os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep) if os.environ['CMAKE_PREFIX_PATH'] else []
+        paths += os.environ['CATKIN_PREFIX_PATH'].split(os.pathsep) if os.environ['CATKIN_PREFIX_PATH'] else []
 
     spaces = []
     for path in paths: