Summary

构建系统 构建工具:构建工具调用构建系统,按照依赖关系依次完成功能包构建 colcon 是一种构建工具

  • 对比
    • 构建系统之针对一个单独的包进行构建
    • 构建工具重点在于按照依赖关系依次调用构建系统完成一系列功能包的构建
  • 示例
    • ROS 中用到的构建系统:CMakeament_cmakecatkinPython setuptools
    • ROS 中用到的构建工具:colconcatkin_makecatkin_make_isolatedcatkin_tools

Note

colcon 作为构建工具,通过调用 CMakePython setuptools 完成构建。

  • 常用指令:colcon build
    • 构建指令
      • --packages-select ,仅生成单个包(或选定的包)
      • --packages-up-to,构建选定的包,包括其依赖项
      • --packages-above,整个工作区,然后对其中一个包进行了更改。此指令将重构此包以及(递归地)依赖于此包的所有包
    • 指定目录 - --build-base,指定构建目录
      • --install-base,指定安装目录
    • 合并构建目录
      • --merge-install,使用合并工作区之后:

          install
              ├── COLCON_IGNORE
              ├── lib/..
              ├── share/..
              ├── local_setup.[bash|bat|ps1|sh|zsh|...]
              ├── _local_setup_util_[sh|ps1|...].py
              └── setup.[bash|bat|ps1|sh|zsh|...]
        

        vs 独立工作区

        install
        ├── COLCON_IGNORE
        ├── foo
        │    ├── lib/...
        │    └── share/...
        ├── local_setup.[bash|bat|ps1|sh|zsh|...]
        ├── _local_setup_util_[sh|ps1|...].py
        └── setup.[bash|bat|ps1|sh|zsh|...]
        

        如果没有此选项,每个包都将提供自己的环境变量路径,从而导致非常长的环境变量值。

        使用此选项时,添加到环境变量的大多数路径将相同,从而导致环境变量值更短。