From Eric Wing, "Attached are a few Find modules with updates. Among other things, they

contain better support for environmental variables to pre-empt the
autodection default search path order which is very helpful for people
who do automated builds. (I recommend that the remaining modules
consider adding the same system to make things consistent and easier
for those people that want to do the automated builds.)

The CMAKE_PREFIX_PATH has also been added to help people. I don't
recommend adding this to the other modules because it looks like CMake
agreed with my idea and will be adding the support in 2.6. So when
that ships, people will get it for free. (In the meantime, my modules
that do have it, it can be used.)

Finally, I've submitted all of these modules to official CMake plus
more so they will be in the next version of CMake. It looks like I may
need to sort some compatibility issues out with the KDE people who
seem to have conflicting modules, but this is unrelated to the updates
submitted here as OSG already has these conflicts. I figured I would
just sync OSG up with my current/best versions.

Also of note, I added the large batch of Findosg*.cmake modules to
CMake so people building against OpenSceneGraph can use these without
writing their own. I wasn't sure if I should submit them here or not
since they are for building against OSG and not for building OSG
itself. So they are not included.
"
This commit is contained in:
Robert Osfield 2008-01-04 20:00:18 +00:00
parent 5832dadb68
commit f5ec89e049
5 changed files with 299 additions and 195 deletions

View File

@ -26,23 +26,46 @@
# everything still works. # everything still works.
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
$ENV{FREETYPE_DIR} $ENV{FREETYPE_DIR}
/usr/local/include NO_DEFAULT_PATH
/usr/include PATH_SUFFIXES include
)
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
PATHS
/usr/local
/usr
/usr/local/X11R6 /usr/local/X11R6
/usr/X11R6/include /usr/local/X11
/sw/include /usr/X11R6
/opt/local/include /usr/X11
/opt/csw/include /sw
/opt/include /opt/local
/usr/freeware/include/freetype2 /opt/csw
/opt
/usr/freeware
PATH_SUFFIXES include
) )
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
$ENV{FREETYPE_DIR}/include/freetype2 $ENV{FREETYPE_DIR}/include/freetype2
NO_DEFAULT_PATH
)
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include/freetype2
)
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
/usr/local/include/freetype2 /usr/local/include/freetype2
/usr/include/freetype2 /usr/include/freetype2
/usr/local/X11R6/include/freetype2 /usr/local/X11R6/include/freetype2
/usr/local/X11/include/freetype2
/usr/X11R6/include/freetype2 /usr/X11R6/include/freetype2
/usr/X11/include/freetype2
/sw/include/freetype2 /sw/include/freetype2
/opt/local/include/freetype2 /opt/local/include/freetype2
/opt/csw/include/freetype2 /opt/csw/include/freetype2
@ -53,17 +76,31 @@ FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
FIND_LIBRARY(FREETYPE_LIBRARY FIND_LIBRARY(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219 NAMES freetype libfreetype freetype219
PATHS PATHS
$ENV{FREETYPE_DIR}/lib $ENV{FREETYPE_DIR}
$ENV{FREETYPE_DIR}/lib NO_DEFAULT_PATH
/usr/local/lib PATH_SUFFIXES lib64 lib
/usr/lib )
/usr/local/X11R6/lib FIND_LIBRARY(FREETYPE_LIBRARY
/usr/X11R6/lib NAMES freetype libfreetype freetype219
/sw/lib PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
/opt/local/lib NO_DEFAULT_PATH
/opt/csw/lib PATH_SUFFIXES lib64 lib
/opt/lib )
/usr/freeware/lib64 FIND_LIBRARY(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219
PATHS
/usr/local
/usr
/usr/local/X11R6
/usr/local/X11
/usr/X11R6
/usr/X11
/sw
/opt/local
/opt/csw
/opt
/usr/freeware
PATH_SUFFIXES lib64 lib
) )
IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2) IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)

View File

@ -4,50 +4,84 @@
# GDAL_FOUND, if false, do not try to link to gdal # GDAL_FOUND, if false, do not try to link to gdal
# GDAL_INCLUDE_DIR, where to find the headers # GDAL_INCLUDE_DIR, where to find the headers
# #
# $GDAL_DIR is an environment variable that would # $GDALDIR is an environment variable that would
# correspond to the ./configure --prefix=$GDAL_DIR # correspond to the ./configure --prefix=$GDAL_DIR
# used in building gdal.
# #
# Created by Robert Osfield. # 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 FIND_PATH(GDAL_INCLUDE_DIR gdal.h
${GDAL_DIR}/include
$ENV{GDAL_DIR}/include
$ENV{GDAL_DIR} $ENV{GDAL_DIR}
$ENV{OSGDIR}/include NO_DEFAULT_PATH
$ENV{OSGDIR} PATH_SUFFIXES include
$ENV{OSG_ROOT}/include )
~/Library/Frameworks
/Library/Frameworks 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/local/include
/usr/include
/usr/include/gdal /usr/include/gdal
/usr/include/GDAL
/usr/include
/sw/include/gdal
/sw/include/GDAL
/sw/include # Fink /sw/include # Fink
/opt/local/include/gdal
/opt/local/include/GDAL
/opt/local/include # DarwinPorts /opt/local/include # DarwinPorts
/opt/csw/include/gdal
/opt/csw/include/GDAL
/opt/csw/include # Blastwave /opt/csw/include # Blastwave
/opt/include/gdal
/opt/include/GDAL
/opt/include /opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
/usr/freeware/include
) )
FIND_LIBRARY(GDAL_LIBRARY FIND_LIBRARY(GDAL_LIBRARY
NAMES gdal gdal_i gdal1.4.0 gdal1.3.2 NAMES gdal GDAL
PATHS PATHS
${GDAL_DIR}/lib
$ENV{GDAL_DIR}/lib
$ENV{GDAL_DIR} $ENV{GDAL_DIR}
$ENV{OSGDIR}/lib NO_DEFAULT_PATH
$ENV{OSGDIR} PATH_SUFFIXES lib64 lib
$ENV{OSG_ROOT}/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
/Library/Frameworks /Library/Frameworks
/usr/local/lib /usr/local
/usr/lib /usr
/sw/lib /sw
/opt/local/lib /opt/local
/opt/csw/lib /opt/csw
/opt/lib /opt
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib /usr/freeware
/usr/freeware/lib64 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;GDAL_ROOT]/lib
PATH_SUFFIXES lib64 lib
) )
SET(GDAL_FOUND "NO") SET(GDAL_FOUND "NO")
@ -56,3 +90,4 @@ IF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)
ENDIF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR) ENDIF(GDAL_LIBRARY AND GDAL_INCLUDE_DIR)

View File

@ -1,21 +1,28 @@
# Locate gdal
# This module defines # This module defines
# GIFLIB_LIBRARY # GIFLIB_LIBRARY
# GIFLIB_FOUND, if false, do not try to link to gdal # GIFLIB_FOUND, if false, do not try to link
# GIFLIB_INCLUDE_DIR, where to find the headers # GIFLIB_INCLUDE_DIR, where to find the headers
# #
# $GIFLIB_DIR is an environment variable that would # $GIFLIB_DIR is an environment variable that would
# correspond to the ./configure --prefix=$GIFLIB_DIR # correspond to the ./configure --prefix=$GIFLIB_DIR
# used in building gdal.
# #
# Created by Eric Wing. # Created by Eric Wing.
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
$ENV{GIFLIB_DIR}/include PATHS
$ENV{GIFLIB_DIR} $ENV{GIFLIB_DIR}
$ENV{OSGDIR}/include NO_DEFAULT_PATH
$ENV{OSGDIR} PATH_SUFFIXES include
$ENV{OSG_ROOT}/include )
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
PATHS
~/Library/Frameworks ~/Library/Frameworks
/Library/Frameworks /Library/Frameworks
/usr/local/include /usr/local/include
@ -31,21 +38,32 @@ FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
FIND_LIBRARY(GIFLIB_LIBRARY FIND_LIBRARY(GIFLIB_LIBRARY
NAMES gif ungif libgif libungif NAMES gif ungif libgif libungif
PATHS PATHS
$ENV{GIFLIB_DIR}/lib
$ENV{GIFLIB_DIR} $ENV{GIFLIB_DIR}
$ENV{OSGDIR}/lib NO_DEFAULT_PATH
$ENV{OSGDIR} PATH_SUFFIXES lib64 lib
$ENV{OSG_ROOT}/lib )
FIND_LIBRARY(GIFLIB_LIBRARY
NAMES gif ungif libgif libungif
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
)
FIND_LIBRARY(GIFLIB_LIBRARY
NAMES gif ungif libgif libungif
PATHS
~/Library/Frameworks ~/Library/Frameworks
/Library/Frameworks /Library/Frameworks
/usr/local/lib /usr/local
/usr/lib /usr
/sw/lib /sw
/opt/local/lib /opt/local
/opt/csw/lib /opt/csw
/opt/lib /opt
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]
/usr/freeware/lib64 /usr/freeware
PATH_SUFFIXES lib64 lib
) )
SET(GIFLIB_FOUND "NO") SET(GIFLIB_FOUND "NO")

View File

@ -43,24 +43,25 @@
# may change. # may change.
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
PATHS
$ENV{OPENTHREADS_INCLUDE_DIR} $ENV{OPENTHREADS_INCLUDE_DIR}
$ENV{OPENTHREADS_DIR}/include $ENV{OPENTHREADS_DIR}/include
$ENV{OPENTHREADS_DIR} $ENV{OPENTHREADS_DIR}
$ENV{OSG_INCLUDE_DIR} $ENV{OSG_INCLUDE_DIR}
$ENV{OSG_DIR}/include $ENV{OSG_DIR}/include
$ENV{OSG_DIR} $ENV{OSG_DIR}
$ENV{OSGDIR}/include
$ENV{OSGDIR}
NO_DEFAULT_PATH NO_DEFAULT_PATH
) )
IF(NOT OPENTHREADS_INCLUDE_DIR) FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include PATH_SUFFIXES include
) )
ENDIF(NOT OPENTHREADS_INCLUDE_DIR)
IF(NOT OPENTHREADS_INCLUDE_DIR) FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
~/Library/Frameworks ~/Library/Frameworks
/Library/Frameworks /Library/Frameworks
/usr/local/include /usr/local/include
@ -71,8 +72,7 @@ IF(NOT OPENTHREADS_INCLUDE_DIR)
/opt/include /opt/include
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/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 [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
) )
ENDIF(NOT OPENTHREADS_INCLUDE_DIR)
FIND_LIBRARY(OPENTHREADS_LIBRARY FIND_LIBRARY(OPENTHREADS_LIBRARY
@ -86,19 +86,20 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY
$ENV{OSG_DIR}/lib64 $ENV{OSG_DIR}/lib64
$ENV{OSG_DIR}/lib $ENV{OSG_DIR}/lib
$ENV{OSG_DIR} $ENV{OSG_DIR}
$ENV{OSGDIR}/lib64
$ENV{OSGDIR}/lib
$ENV{OSGDIR}
NO_DEFAULT_PATH NO_DEFAULT_PATH
) )
IF(NOT OPENTHREADS_LIBRARY) FIND_LIBRARY(OPENTHREADS_LIBRARY
FIND_LIBRARY(OPENTHREADS_LIBRARY
NAMES OpenThreads OpenThreadsWin32 NAMES OpenThreads OpenThreadsWin32
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib PATH_SUFFIXES lib64 lib
) )
ENDIF(NOT OPENTHREADS_LIBRARY)
IF(NOT OPENTHREADS_LIBRARY) FIND_LIBRARY(OPENTHREADS_LIBRARY
FIND_LIBRARY(OPENTHREADS_LIBRARY
NAMES OpenThreads OpenThreadsWin32 NAMES OpenThreads OpenThreadsWin32
PATHS PATHS
~/Library/Frameworks ~/Library/Frameworks
@ -117,8 +118,7 @@ IF(NOT OPENTHREADS_LIBRARY)
/opt/lib /opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
) )
ENDIF(NOT OPENTHREADS_LIBRARY)
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
@ -133,22 +133,20 @@ FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
$ENV{OSG_DIR}/lib64 $ENV{OSG_DIR}/lib64
$ENV{OSG_DIR}/lib $ENV{OSG_DIR}/lib
$ENV{OSG_DIR} $ENV{OSG_DIR}
${CMAKE_PREFIX_PATH}/lib64 $ENV{OSGDIR}/lib64
${CMAKE_PREFIX_PATH}/lib $ENV{OSGDIR}/lib
${CMAKE_PREFIX_PATH} $ENV{OSGDIR}
NO_DEFAULT_PATH NO_DEFAULT_PATH
) )
IF(NOT OPENTHREADS_LIBRARY_DEBUG) FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d NAMES OpenThreadsd OpenThreadsWin32d
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this. PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib PATH_SUFFIXES lib64 lib
) )
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG)
IF(NOT OPENTHREADS_LIBRARY_DEBUG) FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
FIND_LIBRARY(OPENTHREADS_LIBRARY_DEBUG
NAMES OpenThreadsd OpenThreadsWin32d NAMES OpenThreadsd OpenThreadsWin32d
PATHS PATHS
/usr/local/lib64 /usr/local/lib64
@ -165,8 +163,7 @@ IF(NOT OPENTHREADS_LIBRARY_DEBUG)
/opt/lib /opt/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OpenThreads_ROOT]/lib
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib [HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
) )
ENDIF(NOT OPENTHREADS_LIBRARY_DEBUG)
IF(OPENTHREADS_LIBRARY) IF(OPENTHREADS_LIBRARY)

View File

@ -6,7 +6,6 @@
# #
# $QUICKTIME_DIR is an environment variable that would # $QUICKTIME_DIR is an environment variable that would
# correspond to the ./configure --prefix=$QUICKTIME_DIR # correspond to the ./configure --prefix=$QUICKTIME_DIR
# used in building gdal.
# #
# Created by Eric Wing. # Created by Eric Wing.
@ -20,6 +19,24 @@ ELSE(APPLE)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
$ENV{QUICKTIME_DIR}/include $ENV{QUICKTIME_DIR}/include
$ENV{QUICKTIME_DIR} $ENV{QUICKTIME_DIR}
NO_DEFAULT_PATH
)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES include
)
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime
$ENV{QUICKTIME_DIR}/lib
$ENV{QUICKTIME_DIR}
NO_DEFAULT_PATH
)
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime
PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
NO_DEFAULT_PATH
PATH_SUFFIXES lib64 lib
) )
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime) FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
ENDIF(APPLE) ENDIF(APPLE)