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)
另請參見¶
The
FindOpenSceneGraph
module to find OpenSceneGraph toolkit.