FindosgProducer

Finds the osgProducer utility library from the OpenSceneGraph toolkit.

备注

The osgProducer library has been removed from the OpenSceneGraph toolkit in early OpenSceneGraph versions (pre 1.0 release) and replaced with osgViewer. Its development has shifted at time to a standalone project and repository Producer, which can be found with FindProducer module.

备注

In most cases, it's recommended to use the FindOpenSceneGraph module instead and list osgProducer as a component. This will automatically handle dependencies such as the OpenThreads and core osg libraries:

find_package(OpenSceneGraph COMPONENTS osgProducer)

This module is used internally by FindOpenSceneGraph to find the osgProducer library. It is not intended to be included directly during typical use of the find_package() command. However, it is available as a standalone module for advanced use cases where finer control over detection is needed. For example, to find the osgProducer explicitly or bypass automatic component detection:

find_package(osgProducer)

OpenSceneGraph and osgProducer headers are intended to be included in C++ project source code as:

example.cxx
#include <osg/PositionAttitudeTransform>
#include <osgProducer/OsgSceneHandler>
// ...

When working with the OpenSceneGraph toolkit, other libraries such as OpenGL may also be required.

Result Variables

This module defines the following variables:

osgProducer_FOUND

Boolean indicating whether the osgProducer library of the OpenSceneGraph toolkit is found. For backward compatibility, the OSGPRODUCER_FOUND variable is also set to the same value.

OSGPRODUCER_LIBRARIES

The libraries needed to link against to use osgProducer.

OSGPRODUCER_LIBRARY

A result variable that is set to the same value as the OSGPRODUCER_LIBRARIES variable.

Cache Variables

The following cache variables may also be set:

OSGPRODUCER_INCLUDE_DIR

The include directory containing headers needed to use osgProducer.

OSGPRODUCER_LIBRARY_DEBUG

The path to the osgProducer debug library.

Hints

This module accepts the following variables:

OSGDIR

Environment variable that can be set to help locate the OpenSceneGraph toolkit, including its osgProducer library, when installed in a custom location. It should point to the OpenSceneGraph installation prefix used when it was configured, built, and installed: ./configure --prefix=$OSGDIR.

Examples

Finding osgProducer explicitly with this module and creating an interface imported target that encapsulates its usage requirements for linking it to a project target:

find_package(osgProducer)

if(osgProducer_FOUND AND NOT TARGET osgProducer::osgProducer)
  add_library(osgProducer::osgProducer INTERFACE IMPORTED)
  set_target_properties(
    osgProducer::osgProducer
    PROPERTIES
      INTERFACE_INCLUDE_DIRECTORIES "${OSGPRODUCER_INCLUDE_DIR}"
      INTERFACE_LINK_LIBRARIES "${OSGPRODUCER_LIBRARIES}"
  )
endif()

target_link_libraries(example PRIVATE osgProducer::osgProducer)

See Also

  • The FindOpenSceneGraph module to find OpenSceneGraph toolkit.

  • The FindProducer module, which finds the standalone Producer library that evolved from the legacy osgProducer.