Finds the osgViewer library from the OpenSceneGraph toolkit.
Note
In most cases, it's recommended to use the FindOpenSceneGraph module
instead and list osgViewer as a component. This will automatically handle
dependencies such as the OpenThreads and core osg libraries:
find_package(OpenSceneGraph COMPONENTS osgViewer)
This module is used internally by FindOpenSceneGraph to find the
osgViewer 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 osgViewer explicitly or bypass automatic
component detection:
find_package(osgViewer)
OpenSceneGraph and osgViewer headers are intended to be included in C++ project source code as:
example.cxx#include <osg/PositionAttitudeTransform>
#include <osgViewer/Viewer>
// ...
When working with the OpenSceneGraph toolkit, other libraries such as OpenGL may also be required.
This module defines the following variables:
osgViewer_FOUNDBoolean indicating whether the osgViewer library of the OpenSceneGraph
toolkit is found. For backward compatibility, the OSGVIEWER_FOUND
variable is also set to the same value.
OSGVIEWER_LIBRARIESThe libraries needed to link against to use osgViewer.
OSGVIEWER_LIBRARYA result variable that is set to the same value as the OSGVIEWER_LIBRARIES
variable.
The following cache variables may also be set:
OSGVIEWER_INCLUDE_DIRThe include directory containing headers needed to use osgViewer.
OSGVIEWER_LIBRARY_DEBUGThe path to the osgViewer debug library.
This module accepts the following variables:
OSGDIREnvironment variable that can be set to help locate the OpenSceneGraph
toolkit, including its osgViewer 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 osgViewer explicitly with this module and creating an interface imported target that encapsulates its usage requirements for linking it to a project target:
find_package(osgViewer)
if(osgViewer_FOUND AND NOT TARGET osgViewer::osgViewer)
add_library(osgViewer::osgViewer INTERFACE IMPORTED)
set_target_properties(
osgViewer::osgViewer
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OSGVIEWER_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${OSGVIEWER_LIBRARIES}"
)
endif()
target_link_libraries(example PRIVATE osgViewer::osgViewer)
The FindOpenSceneGraph module to find OpenSceneGraph toolkit.