summaryrefslogtreecommitdiff
path: root/Modules/FindosgProducer.cmake
diff options
context:
space:
mode:
authorEric Wing <ewing2121@yahoo.com>2007-12-20 20:59:44 -0500
committerEric Wing <ewing2121@yahoo.com>2007-12-20 20:59:44 -0500
commita5b3ab4eee1f11287c69da39b5e742353fdbd372 (patch)
tree4aaf6549ec4f360eb44a05ca3b6568b8783452ff /Modules/FindosgProducer.cmake
parent355b1f23afd6809edb9ed1924c0112d02d4c8f85 (diff)
downloadcmake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.tar.gz
BUG: Fixed modules to set FOO_FOUND when both headers and libraries are found.
BUG: FindSDL now has flag it responds to so it will not find/link against SDLmain. This is required to build libraries instead of applications since they don't have main(). ENH: All modules have a predictable search order, where environmental variables are searched before system paths. This is designed to make automation easier for those that need to automatically build projects without intervention but may be using alternative install locations for isolated testing. ENH: New modules for OpenSceneGraph, Freetype, GDAL, Lua, QuickTime, GIFLIB, Producer, OpenThreads. STYLE: Added documentation explaining peculuar SDL_LIBRARY_TEMP variable in SDL module when library find is incomplete.
Diffstat (limited to 'Modules/FindosgProducer.cmake')
-rw-r--r--Modules/FindosgProducer.cmake90
1 files changed, 90 insertions, 0 deletions
diff --git a/Modules/FindosgProducer.cmake b/Modules/FindosgProducer.cmake
new file mode 100644
index 0000000000..09f99a0cc1
--- /dev/null
+++ b/Modules/FindosgProducer.cmake
@@ -0,0 +1,90 @@
+# This is part of the Findosg* suite used to find OpenSceneGraph components.
+# Each component is separate and you must opt in to each module. You must
+# also opt into OpenGL and OpenThreads (and Producer if needed) 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 osgProducer
+# This module defines
+# OSGPRODUCER_LIBRARY
+# OSGPRODUCER_FOUND, if false, do not try to link to osgProducer
+# OSGPRODUCER_INCLUDE_DIR, where to find the headers
+#
+# $OSGDIR is an environment variable that would
+# correspond to the ./configure --prefix=$OSGDIR
+# used in building osg.
+#
+# Created by Eric Wing.
+
+# Header files are presumed to be included like
+# #include <osg/PositionAttitudeTransform>
+# #include <osgProducer/OsgSceneHandler>
+
+# Try the user's environment request before anything else.
+FIND_PATH(OSGPRODUCER_INCLUDE_DIR osgProducer/OsgSceneHandler
+ PATHS
+ $ENV{OSGPRODUCER_DIR}
+ $ENV{OSG_DIR}
+ $ENV{OSGDIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES include
+)
+FIND_PATH(OSGPRODUCER_INCLUDE_DIR osgProducer/OsgSceneHandler
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES include
+)
+FIND_PATH(OSGPRODUCER_INCLUDE_DIR osgProducer/OsgSceneHandler
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+ [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]
+ [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
+ PATH_SUFFIXES include
+)
+
+FIND_LIBRARY(OSGPRODUCER_LIBRARY
+ NAMES osgProducer
+ PATHS
+ $ENV{OSGPRODUCER_DIR}
+ $ENV{OSG_DIR}
+ $ENV{OSGDIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(OSGPRODUCER_LIBRARY
+ NAMES osgProducer
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(OSGPRODUCER_LIBRARY
+ NAMES osgProducer
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ PATH_SUFFIXES lib64 lib
+)
+
+SET(OSGPRODUCER_FOUND "NO")
+IF(OSGPRODUCER_LIBRARY AND OSGPRODUCER_INCLUDE_DIR)
+ SET(OSGPRODUCER_FOUND "YES")
+ENDIF(OSGPRODUCER_LIBRARY AND OSGPRODUCER_INCLUDE_DIR)
+