blob: 28a13cbced687f035e5272b9a78c17b8b7e725ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
|
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file LICENSE.rst or https://cmake.org/licensing for details.
#[=======================================================================[.rst:
FindosgFX
---------
Finds the osgFX NodeKit from the OpenSceneGraph toolkit.
.. note::
In most cases, it's recommended to use the :module:`FindOpenSceneGraph` module
instead and list osgFX as a component. This will automatically handle
dependencies such as the OpenThreads and core osg libraries:
.. code-block:: cmake
find_package(OpenSceneGraph COMPONENTS osgFX)
This module is used internally by :module:`FindOpenSceneGraph` to find the
osgFX NodeKit. It is not intended to be included directly during typical
use of the :command:`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 osgFX explicitly or bypass automatic
component detection:
.. code-block:: cmake
find_package(osgFX)
OpenSceneGraph and osgFX headers are intended to be included in C++ project
source code as:
.. code-block:: c++
:caption: ``example.cxx``
#include <osg/PositionAttitudeTransform>
#include <osgFX/BumpMapping>
// ...
When working with the OpenSceneGraph toolkit, other libraries such as OpenGL may
also be required.
Result Variables
^^^^^^^^^^^^^^^^
This module defines the following variables:
``osgFX_FOUND``
Boolean indicating whether the osgFX NodeKit of the OpenSceneGraph toolkit
is found. For backward compatibility, the ``OSGFX_FOUND`` variable is also
set to the same value.
``OSGFX_LIBRARIES``
The libraries needed to link against to use osgFX.
``OSGFX_LIBRARY``
A result variable that is set to the same value as the ``OSGFX_LIBRARIES``
variable.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``OSGFX_INCLUDE_DIR``
The include directory containing headers needed to use osgFX.
``OSGFX_LIBRARY_DEBUG``
The path to the osgFX debug library.
Hints
^^^^^
This module accepts the following variables:
``OSGDIR``
Environment variable that can be set to help locate the OpenSceneGraph
toolkit, including its osgFX NodeKit, 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 osgFX explicitly with this module and creating an interface
:ref:`imported target <Imported Targets>` that encapsulates its usage
requirements for linking it to a project target:
.. code-block:: cmake
find_package(osgFX)
if(osgFX_FOUND AND NOT TARGET osgFX::osgFX)
add_library(osgFX::osgFX INTERFACE IMPORTED)
set_target_properties(
osgFX::osgFX
PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${OSGFX_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${OSGFX_LIBRARIES}"
)
endif()
target_link_libraries(example PRIVATE osgFX::osgFX)
See Also
^^^^^^^^
* The :module:`FindOpenSceneGraph` module to find OpenSceneGraph toolkit.
#]=======================================================================]
# Created by Eric Wing.
include(${CMAKE_CURRENT_LIST_DIR}/Findosg_functions.cmake)
OSG_FIND_PATH (OSGFX osgFX/BumpMapping)
OSG_FIND_LIBRARY(OSGFX osgFX)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(osgFX DEFAULT_MSG
OSGFX_LIBRARY OSGFX_INCLUDE_DIR)
|