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()