# FindosgIntrospection

Finds the osgIntrospection library from the OpenSceneGraph toolkit.

Note

The osgIntrospection library has been removed from the OpenSceneGraph toolkit as of OpenSceneGraph version 3.0.

Note

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

    find_package(OpenSceneGraph COMPONENTS osgIntrospection)

This module is used internally by `FindOpenSceneGraph` to find the osgIntrospection 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 osgIntrospection explicitly or bypass automatic component detection:

    find_package(osgIntrospection)

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

`example.cxx`

    #include <osg/PositionAttitudeTransform>
    #include <osgIntrospection/Reflection>
    // ...

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

## Result Variables

This module defines the following variables:

`osgIntrospection_FOUND`

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

`OSGINTROSPECTION_LIBRARIES`

  The libraries needed to link against to use osgIntrospection.

`OSGINTROSPECTION_LIBRARY`

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

## Cache Variables

The following cache variables may also be set:

`OSGINTROSPECTION_INCLUDE_DIR`

  The include directory containing headers needed to use osgIntrospection.

`OSGINTROSPECTION_LIBRARY_DEBUG`

  The path to the osgIntrospection debug library.

## Hints

This module accepts the following variables:

`OSGDIR`

  Environment variable that can be set to help locate the OpenSceneGraph toolkit, including its osgIntrospection 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 osgIntrospection explicitly with this module and creating an interface imported target that encapsulates its usage requirements for linking it to a project target:

    find_package(osgIntrospection)

    if(osgIntrospection_FOUND AND NOT TARGET osgIntrospection::osgIntrospection)
      add_library(osgIntrospection::osgIntrospection INTERFACE IMPORTED)
      set_target_properties(
        osgIntrospection::osgIntrospection
        PROPERTIES
          INTERFACE_INCLUDE_DIRECTORIES "${OSGINTROSPECTION_INCLUDE_DIR}"
          INTERFACE_LINK_LIBRARIES "${OSGINTROSPECTION_LIBRARIES}"
      )
    endif()

    target_link_libraries(example PRIVATE osgIntrospection::osgIntrospection)

## See Also

- The `FindOpenSceneGraph` module to find OpenSceneGraph toolkit.