Findosg

Finds the core OpenSceneGraph osg library (libosg).

備註

In most cases, it's recommended to use the FindOpenSceneGraph module instead, which automatically finds the osg core library along with its required dependencies like OpenThreads:

find_package(OpenSceneGraph)

This module is used internally by FindOpenSceneGraph to find the osg 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, such as explicitly finding osg library or bypassing automatic component detection:

find_package(osg)

OpenSceneGraph core library headers are intended to be included in C++ project source code as:

example.cxx
#include <osg/PositionAttitudeTransform>

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

結果變數

This module defines the following variables:

osg_FOUND

Boolean indicating whether osg library is found. For backward compatibility, the OSG_FOUND variable is also set to the same value.

OSG_LIBRARIES

The libraries needed to link against to use osg library.

OSG_LIBRARY

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

快取變數

The following cache variables may also be set:

OSG_INCLUDE_DIR

The include directory containing headers needed to use osg library.

OSG_LIBRARY_DEBUG

The path to the osg debug library.

Hints

This module accepts the following variables:

OSGDIR

Environment variable that can be set to help locate the OpenSceneGraph toolkit, including its osg 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.

範例

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

find_package(osg)

if(osg_FOUND AND NOT TARGET osg::osg)
  add_library(osg::osg INTERFACE IMPORTED)
  set_target_properties(
    osg::osg
    PROPERTIES
      INTERFACE_INCLUDE_DIRECTORIES "${OSG_INCLUDE_DIR}"
      INTERFACE_LINK_LIBRARIES "${OSG_LIBRARIES}"
  )
endif()

target_link_libraries(example PRIVATE osg::osg)

另請參見