CMake/Modules/FindProducer.cmake

72 lines
2.3 KiB
CMake

# 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)