FindProducer¶
注意
Producer(也称为 *Open Producer*)库起源于 OpenSceneGraph 工具包早期版本中的 osgProducer 实用程序库,后来发展成为一个独立的库。osgProducer 最终被 osgViewer 库取代,而独立的 Producer 库变得过时且不再维护。有关 OpenSceneGraph 用法的详细信息,请参阅 FindOpenSceneGraph
模块。
此模块查找 Producer 库,这是一个主要为实时图形应用程序设计的窗口和事件处理库。
Producer 库头文件旨在包含在 C++ 项目源代码中,如下所示:
example.cxx
¶#include <Producer/CameraGroup>
结果变量¶
此模块定义了以下变量
Producer_FOUND
布尔值,指示是否找到 Producer。为了向后兼容,
PRODUCER_FOUND
变量也设置为相同的值。
缓存变量¶
以下缓存变量也可以设置
PRODUCER_INCLUDE_DIR
包含使用 Producer 所需头文件的目录。
PRODUCER_LIBRARY
Producer 库的路径,用于链接以供使用。
提示¶
此模块接受以下变量
PRODUCER_DIR
可以设置的环境变量,用于帮助定位 Producer 库的自定义安装。它应指向安装 Producer 库的根目录。这应与配置和构建 Producer 时使用的安装前缀匹配,例如使用
./configure --prefix=$PRODUCER_DIR
。
由于 Producer 历史上与 OpenSceneGraph 紧密集成,此模块还接受以下环境变量作为 PRODUCER_DIR
的等效项,以方便一次性指定多个 OpenSceneGraph 相关库的通用安装根目录。
OSGDIR
与
PRODUCER_DIR
相同处理的环境变量。OSG_DIR
与
PRODUCER_DIR
相同处理的环境变量。
示例¶
查找 Producer 库并创建一个 导入目标,该目标封装了其用法要求,以便链接到项目目标。
find_package(Producer)
if(Producer_FOUND AND NOT TARGET Producer::Producer)
add_library(Producer::Producer INTERFACE IMPORTED)
set_target_properties(
Producer::Producer
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${PRODUCER_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${PRODUCER_LIBRARY}"
)
endif()
target_link_libraries(example PRIVATE Producer::Producer)