Supported Build Types¶
The current release of catkin_tools
supports building two types of packages:
- Catkin – CMake packages that use the Catkin CMake macros
- CMake – “Plain” CMake packages
There is currently limited support for adding other build types.
For information on extending catkin_tools
to be able to build other types of packages, see Adding New Build Types.
Below are details on the stages involved in building a given package for each of the currently-supported build types.
Catkin¶
Catkin packages are CMake packages which utilize the Catkin CMake macros for finding packages and defining configuration files.
Configuration Arguments¶
--cmake-args
--make-args
--catkin-make-args
Build Stages¶
First | Subsequent | Description |
---|---|---|
mkdir |
Create package build space if it doesn’t exist.
|
|
cmake |
check |
Run CMake configure step once for the
first build and the
cmake_check_build_system target for subsequent builds unless the
--force-cmake argument is given. |
preclean optional |
Run the
clean target before building.This is only done with the
--pre-clean option. |
|
make |
Build the default target with GNU make.
|
|
install optional |
Run the
install target after building.This is only done with the
--install option. |
|
setupgen |
Generate a
setup.sh file to “source” the result space.
|
|
envgen |
Generate an
env.sh file for loading the result space’s environment.
|
CMake¶
Configuration Arguments¶
--cmake-args
--make-args
Build Stages¶
First | Subsequent | Description |
---|---|---|
mkdir |
Create package build space if it doesn’t exist.
|
|
cmake |
check |
Run CMake configure step once for the
first build and the
cmake_check_build_system target for subsequent builds unless the
--force-cmake argument is given. |
preclean optional |
Run the
clean target before building.This is only done with the
--pre-clean option. |
|
make |
Build the default target with GNU make.
|
|
install |
Run the
install target after building,and install products to the devel space.
If the
--install option is given,products are installed to the install space instead.
|
|
setupgen |
Generate a
setup.sh file if necessary. |