FindProducer.cmake 2.74 KB
Newer Older
1 2 3 4 5 6 7 8 9
#.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
10
# environment path.
11
#
12 13 14 15 16 17
# 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).
18
# If you want to use a more convenient module that includes everything,
19 20
# use the FindOpenSceneGraph.cmake instead of the Findosg*.cmake
# modules.
21
#
22 23 24
# 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
25
#
26 27
# $PRODUCER_DIR is an environment variable that would correspond to the
# ./configure --prefix=$PRODUCER_DIR used in building osg.
28 29 30
#
# Created by Eric Wing.

31 32 33 34 35 36 37 38 39 40
#=============================================================================
# Copyright 2007-2009 Kitware, Inc.
#
# Distributed under the OSI-approved BSD License (the "License");
# see accompanying file Copyright.txt for details.
#
# This software is distributed WITHOUT ANY WARRANTY; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the License for more information.
#=============================================================================
41
# (To distribute this file outside of CMake, substitute the full
42 43
#  License text for the above reference.)

44 45 46 47
# Header files are presumed to be included like
# #include <Producer/CameraGroup>

# Try the user's environment request before anything else.
48
find_path(PRODUCER_INCLUDE_DIR Producer/CameraGroup
49
  HINTS
50 51 52
    ENV PRODUCER_DIR
    ENV OSG_DIR
    ENV OSGDIR
53 54 55 56 57 58 59 60 61 62 63 64
  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
)

65
find_library(PRODUCER_LIBRARY
66
  NAMES Producer
67
  HINTS
68 69 70
    ENV PRODUCER_DIR
    ENV OSG_DIR
    ENV OSGDIR
71
  PATH_SUFFIXES lib
72 73 74 75 76 77 78
  PATHS
  /sw
  /opt/local
  /opt/csw
  /opt
)

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