一、cmakelist示例
二、一些说明
1.find_package()
find_package(catkin REQUIRED COMPONENTS nodelet)
这意味着由nodelet导出的include路径,库等也附加到catkin_变量,catkin_INCLUDE_DIRS不仅包含catkin的include路径,还包含了nodelet。
- 工作流程
find package在Module模式下是要查找到Find<PackageName>.cmake
的文件。首先在CMAKE_MODULE_PATH
变量对应的路径中查找。如果路径为空,或者路径中查找失败,则在cmake module directory(cmake安装时的Modules目录,比如/usr/local/share/cmake/Modules
)查找,另外可以指定cmake module 的路径。
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
- 生成的变量
- <NAME>_FOUND:这个变量说明这个库是否被找到,如果找到就被设置为true,否则设为false
- <NAME>_LIBRARIES or <NAME>_LIBS:由包导出的库。
- <NAME>_INCLUDE_DIRS or<NAME>_INCLUDES:包导出的包含路径