Package.xml的字段说明
package.xml 的版本说明
<package format="2"></package>
每一个 package.xml 都以作为 root 标签,其中 format 代表版本,现在主要是版本 2 为主,与版本 1 之间的差别主要是一些子标签,
package.xml 的必备标签
name
:功能包名
version
:版本号。版本号格式:MAJOR.MINOR.PATCH
description
:功能包的描述
maintainer
:功能包的主要维护者
license
:功能包的许可证
<package format="2"><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@osrf.org">Ivana Bildbotz</maintainer><license>BSD</license>
</package>
依赖项标签
buildtool_depend
:指定此包构建自身所需的构建系统工具。
一个功能包至少需要一个buildtool_depend,通常值是catkin。
在交叉编译场景中,执行编译的体系结构相关.
depend
:指定依赖项是构建、导出和执行依赖项
depend = build_depend + build_export_depend + exec_depend
build_depend
:指定了构建此包所需的软件包
在CMakeLists.txt中使用find_package()寻找的包,需要在这里进行添加
build_export_depend
:构建此包所需的库所需的包
当暴露一些头文件给下游时,并且该功能包的头文件还依赖了一些其他库的头文件的时候,需要使用该标签显式传递给下游功能包
exec_depend
:运行此包中的代码需要哪些包
运行时需要的三方库或者其他功能包
test_depend
:指定单元测试的附加依赖项
doc_depend
:指定此包生成文档所需的文档工具
<package format="2"><name>foo_core</name><version>1.2.4</version><description>This package provides foo capability.</description><maintainer email="ivana@osrf.org">Ivana Bildbotz</maintainer><license>BSD</license><buildtool_depend>catkin</buildtool_depend>
</package>
metapackage
当标识该功能包时一个meta
包时,除必须的标签外,还需要
下述标签
<export><metapackage /></export>
metapackage
对应的CMakeLists.txt
,
cmake_minimum_required(VERSION 2.8.3)
project(<PACKAGE_NAME>)
find_package(catkin REQUIRED)
catkin_metapackage()