summaryrefslogtreecommitdiffstats
path: root/Modules/FindProducer.cmake
blob: 500c8edf6e7699971ff6d0f8fafe33692ef35429 (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
# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.

#.rst:
# FindProducer
# ------------
#
#
#
# Though Producer isn't directly part of OpenSceneGraph, its primary
# user is OSG so I consider this part of the Findosg* suite used to find
# OpenSceneGraph components.  You'll notice that I accept OSGDIR as an
# environment path.
#
# Each component is separate and you must opt in to each module.  You
# must also opt into OpenGL (and OpenThreads?) as these modules won't do
# it for you.  This is to allow you control over your own system piece
# by piece in case you need to opt out of certain components or change
# the Find behavior for a particular module (perhaps because the default
# FindOpenGL.cmake module doesn't work with your system as an example).
# If you want to use a more convenient module that includes everything,
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake
# modules.
#
# Locate Producer This module defines PRODUCER_LIBRARY PRODUCER_FOUND,
# if false, do not try to link to Producer PRODUCER_INCLUDE_DIR, where
# to find the headers
#
# $PRODUCER_DIR is an environment variable that would correspond to the
# ./configure --prefix=$PRODUCER_DIR used in building osg.
#
# Created by Eric Wing.

# Header files are presumed to be included like
# #include <Producer/CameraGroup>

# Try the user's environment request before anything else.
find_path(PRODUCER_INCLUDE_DIR Producer/CameraGroup
  HINTS
    ENV PRODUCER_DIR
    ENV OSG_DIR
    ENV OSGDIR
  PATH_SUFFIXES include
  PATHS
    ~/Library/Frameworks
    /Library/Frameworks
    /sw/include # Fink
    /opt/local/include # DarwinPorts
    /opt/csw/include # Blastwave
    /opt/include
    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/include
    [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
)

find_library(PRODUCER_LIBRARY
  NAMES Producer
  HINTS
    ENV PRODUCER_DIR
    ENV OSG_DIR
    ENV OSGDIR
  PATH_SUFFIXES lib
  PATHS
  /sw
  /opt/local
  /opt/csw
  /opt
)

include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Producer DEFAULT_MSG
    PRODUCER_LIBRARY PRODUCER_INCLUDE_DIR)