RoboWare icon indicating copy to clipboard operation
RoboWare copied to clipboard

Support catkin build

Open ceesietopc opened this issue 8 years ago • 12 comments

Great project!

I am using catkin build instead of catkin_make, because I like to build just a couple of packages at a time when developing. When trying to use RoboWare, I get the following alert:

The build space at '/home/companion/catkin_ws/build' was previously built by 'catkin build'. Please remove the build space or pick a different build space.

It would be very nice if catkin build support was added. #

ceesietopc avatar Feb 01 '17 11:02 ceesietopc

@ceesietopc , thank you for your good advice. we'll improve it in upcoming releases.

tony-robotics avatar Feb 06 '17 02:02 tony-robotics

Update on this? This is the primary thing stopping me from using RWS...

mrath avatar Aug 30 '17 11:08 mrath

Maybe this tasks.json helps in the meanwhile:

{
	"version": "0.1.0",
	"command": "bash",
	"args": [
		"-c"
	],
	"options": {
		"cwd": "${fileDirname}"
	},
	"isShellCommand": true,
	"showOutput": "always",
	"suppressTaskName": true,
	"tasks": [
		{
			"taskName": "Debug",
			"args": [
				"catkin build --this --no-deps --no-status --cmake-args '-DCMAKE_BUILD_TYPE=Debug'"
			],
			"problemMatcher": {
				"owner": "cpp",
				"fileLocation": [
					"absolute"
				],
				"pattern": {
					"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
					"file": 1,
					"line": 2,
					"column": 3,
					"severity": 4,
					"message": 5
				}
			}
		},
		{
			"taskName": "Release",
			"args": [
				"catkin build --this --no-deps --no-status --cmake-args '-DCMAKE_BUILD_TYPE=Release'"
			],
			"problemMatcher": {
				"owner": "cpp",
				"fileLocation": [
					"absolute"
				],
				"pattern": {
					"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
					"file": 1,
					"line": 2,
					"column": 3,
					"severity": 4,
					"message": 5
				}
			},
			"isBuildCommand": true
		}
	]
}

You can easily add your own catkin build chain as another task.

beetleskin avatar Sep 04 '17 14:09 beetleskin

@mrath not yet. working on it

wangbinhai avatar Sep 08 '17 03:09 wangbinhai

Catkin build support will be added at the end of October.

tony-robotics avatar Sep 15 '17 02:09 tony-robotics

Looks like it didn't make it? I just updated to 1.0.1 it doesn't appear to like catkin build spaces

crashtest00 avatar Nov 22 '17 02:11 crashtest00

Same problem here. I think a lot of people working with large projects switched to catkin tools, so supporting this should be a priority.

skohlbr avatar Nov 23 '17 13:11 skohlbr

What's the status of this issue? I'm unable to import a 'catkin build' project with version 1.1.0.

ghost avatar Feb 21 '18 12:02 ghost

@Walmpie , both 'catkin_make' and 'catkin build' are supported now, but there should still be a CMakeLists.txt in the src folder to tell RoboWare it's a ROS project. You could run ‘catkin_init_workspace’ in src to generate one.

tony-robotics avatar Feb 21 '18 12:02 tony-robotics

@tonyrobotics Thanks for the quick answer. The workspace has been initialized by the catkin_tools command 'catkin init' so there is no top-level CMakeLists.txt. I could initialize it with the command you propose. However this doesn't belong to catkin_tools right?

ghost avatar Feb 21 '18 12:02 ghost

@Walmpie You're right, the job of 'catkin_init_workspace' is just to generate the CMakeList.txt file (actuallly a symbol link) in the src folder. 'catkin init' wouldn't do this job, so RoboWare regards it as an invalid workspace. Everything will be OK as soon as there's a file (or symbol link) named CMakeLists.txt in the src folder.

tony-robotics avatar Feb 21 '18 14:02 tony-robotics

@tonyrobotics, this works. Thanks for the help :+1:

ghost avatar Feb 22 '18 07:02 ghost