summaryrefslogtreecommitdiffstats
path: root/Modules/FindGDAL.cmake
diff options
context:
space:
mode:
authorEric Wing <ewing2121@yahoo.com>2007-12-21 01:59:44 (GMT)
committerEric Wing <ewing2121@yahoo.com>2007-12-21 01:59:44 (GMT)
commita5b3ab4eee1f11287c69da39b5e742353fdbd372 (patch)
tree4aaf6549ec4f360eb44a05ca3b6568b8783452ff /Modules/FindGDAL.cmake
parent355b1f23afd6809edb9ed1924c0112d02d4c8f85 (diff)
downloadCMake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.zip
CMake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.tar.gz
CMake-a5b3ab4eee1f11287c69da39b5e742353fdbd372.tar.bz2
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/FindGDAL.cmake')
-rw-r--r--Modules/FindGDAL.cmake93
1 files changed, 93 insertions, 0 deletions
diff --git a/Modules/FindGDAL.cmake b/Modules/FindGDAL.cmake
new file mode 100644
index 0000000..14c075a
--- /dev/null
+++ b/Modules/FindGDAL.cmake
@@ -0,0 +1,93 @@
+# Locate gdal
+# This module defines
+# GDAL_LIBRARY
+# GDAL_FOUND, if false, do not try to link to gdal
+# GDAL_INCLUDE_DIR, where to find the headers
+#
+# $GDALDIR is an environment variable that would
+# correspond to the ./configure --prefix=$GDAL_DIR
+# used in building gdal.
+#
+# Created by Eric Wing. I'm not a gdal user, but OpenSceneGraph uses it
+# for osgTerrain so I whipped this module together for completeness.
+# I actually don't know the conventions or where files are typically
+# placed in distros.
+# Any real gdal users are encouraged to correct this (but please don't
+# break the OS X framework stuff when doing so which is what usually seems
+# to happen).
+
+# This makes the presumption that you are include gdal.h like
+# #include "gdal.h"
+
+FIND_PATH(GDAL_INCLUDE_DIR gdal.h
+ $ENV{GDAL_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES include
+)
+
+FIND_PATH(GDAL_INCLUDE_DIR gdal.h
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES include
+)
+
+FIND_PATH(GDAL_INCLUDE_DIR gdal.h
+ PATHS
+ ~/Library/Frameworks/gdal.framework/Headers
+ /Library/Frameworks/gdal.framework/Headers
+ /usr/local/include/gdal
+ /usr/local/include/GDAL
+ /usr/local/include
+ /usr/include/gdal
+ /usr/include/GDAL
+ /usr/include
+ /sw/include/gdal
+ /sw/include/GDAL
+ /sw/include # Fink
+ /opt/local/include/gdal
+ /opt/local/include/GDAL
+ /opt/local/include # DarwinPorts
+ /opt/csw/include/gdal
+ /opt/csw/include/GDAL
+ /opt/csw/include # Blastwave
+ /opt/include/gdal
+ /opt/include/GDAL
+ /opt/include
+)
+
+FIND_LIBRARY(GDAL_LIBRARY
+ NAMES gdal GDAL
+ PATHS
+ $ENV{GDAL_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(GDAL_LIBRARY
+ NAMES gdal GDAL
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(GDAL_LIBRARY
+ NAMES gdal GDAL
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /usr/local
+ /usr
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ /usr/freeware
+ [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
+ PATH_SUFFIXES lib64 lib
+)
+
+SET(GDAL_FOUND "NO")
+IF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)
+ SET(GDAL_FOUND "YES")
+ENDIF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)
+
+
+