From Eric Wing and others, first cut of CMake build support
This commit is contained in:
76
CMakeModules/FindFreeType.cmake
Normal file
76
CMakeModules/FindFreeType.cmake
Normal file
@@ -0,0 +1,76 @@
|
||||
# - Locate FreeType library
|
||||
# This module defines
|
||||
# FREETYPE_LIBRARY, the library to link against
|
||||
# FREETYPE_FOUND, if false, do not try to link to FREETYPE
|
||||
# FREETYPE_INCLUDE_DIRS, where to find headers.
|
||||
# This is the concatenation of the paths:
|
||||
# FREETYPE_INCLUDE_DIR_ft2build
|
||||
# FREETYPE_INCLUDE_DIR_freetype2
|
||||
#
|
||||
# $FREETYPE_DIR is an environment variable that would
|
||||
# correspond to the ./configure --prefix=$FREETYPE_DIR
|
||||
# used in building FREETYPE.
|
||||
# Created by Eric Wing.
|
||||
|
||||
# Ugh, FreeType seems to use some #include trickery which
|
||||
# makes this harder than it should be. It looks like they
|
||||
# put ft2build.h in a common/easier-to-find location which
|
||||
# then contains a #include to a more specific header in a
|
||||
# more specific location (#include <freetype/config/ftheader.h>).
|
||||
# Then from there, they need to set a bunch of #define's
|
||||
# so you can do something like:
|
||||
# #include FT_FREETYPE_H
|
||||
# Unfortunately, using CMake's mechanisms like INCLUDE_DIRECTORIES()
|
||||
# wants explicit full paths and this trickery doesn't work too well.
|
||||
# I'm going to attempt to cut out the middleman and hope
|
||||
# everything still works.
|
||||
FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
|
||||
$ENV{FREETYPE_DIR}
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/usr/local/X11R6
|
||||
/usr/X11R6/include
|
||||
/sw/include
|
||||
/opt/local/include
|
||||
/opt/csw/include
|
||||
/opt/include
|
||||
)
|
||||
|
||||
FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
|
||||
$ENV{FREETYPE_DIR}/include/freetype2
|
||||
/usr/local/include/freetype2
|
||||
/usr/include/freetype2
|
||||
/usr/local/X11R6/include/freetype2
|
||||
/usr/X11R6/include/freetype2
|
||||
/sw/include/freetype2
|
||||
/opt/local/include/freetype2
|
||||
/opt/csw/include/freetype2
|
||||
/opt/include/freetype2
|
||||
)
|
||||
|
||||
FIND_LIBRARY(FREETYPE_LIBRARY
|
||||
NAMES freetype libfreetype freetype219
|
||||
PATHS
|
||||
$ENV{FREETYPE_DIR}/lib
|
||||
$ENV{FREETYPE_DIR}/lib
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
/usr/local/X11R6/lib
|
||||
/usr/X11R6/lib
|
||||
/sw/lib
|
||||
/opt/local/lib
|
||||
/opt/csw/lib
|
||||
/opt/lib
|
||||
)
|
||||
|
||||
IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
|
||||
SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
|
||||
ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
|
||||
|
||||
|
||||
SET(FREETYPE_FOUND "NO")
|
||||
IF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
||||
SET(FREETYPE_FOUND "YES")
|
||||
ENDIF(FREETYPE_LIBRARY AND FREETYPE_INCLUDE_DIRS)
|
||||
|
||||
|
||||
54
CMakeModules/FindGIFLIB.cmake
Normal file
54
CMakeModules/FindGIFLIB.cmake
Normal file
@@ -0,0 +1,54 @@
|
||||
# Locate gdal
|
||||
# This module defines
|
||||
# GIFLIB_LIBRARY
|
||||
# GIFLIB_FOUND, if false, do not try to link to gdal
|
||||
# GIFLIB_INCLUDE_DIR, where to find the headers
|
||||
#
|
||||
# $GIFLIB_DIR is an environment variable that would
|
||||
# correspond to the ./configure --prefix=$GIFLIB_DIR
|
||||
# used in building gdal.
|
||||
#
|
||||
# Created by Eric Wing.
|
||||
|
||||
FIND_PATH(GIFLIB_INCLUDE_DIR gif_lib.h
|
||||
$ENV{GIFLIB_DIR}/include
|
||||
$ENV{GIFLIB_DIR}
|
||||
$ENV{OSGDIR}/include
|
||||
$ENV{OSGDIR}
|
||||
$ENV{OSG_ROOT}/include
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/sw/include # Fink
|
||||
/opt/local/include # DarwinPorts
|
||||
/opt/csw/include # Blastwave
|
||||
/opt/include
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(GIFLIB_LIBRARY
|
||||
NAMES gif ungif libgif libungif
|
||||
PATHS
|
||||
$ENV{GIFLIB_DIR}/lib
|
||||
$ENV{GIFLIB_DIR}
|
||||
$ENV{OSGDIR}/lib
|
||||
$ENV{OSGDIR}
|
||||
$ENV{OSG_ROOT}/lib
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
/sw/lib
|
||||
/opt/local/lib
|
||||
/opt/csw/lib
|
||||
/opt/lib
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
|
||||
)
|
||||
|
||||
SET(GIFLIB_FOUND "NO")
|
||||
IF(GIFLIB_LIBRARY AND GIFLIB_INCLUDE_DIR)
|
||||
SET(GIFLIB_FOUND "YES")
|
||||
ENDIF(GIFLIB_LIBRARY AND GIFLIB_INCLUDE_DIR)
|
||||
|
||||
|
||||
60
CMakeModules/FindOpenThreads.cmake
Normal file
60
CMakeModules/FindOpenThreads.cmake
Normal file
@@ -0,0 +1,60 @@
|
||||
# OpenThreads is a C++ based threading library. Its largest userbase
|
||||
# seems to OpenSceneGraph so you might notice I accept OSGDIR as an
|
||||
# environment path.
|
||||
# I consider this part of the Findosg* suite used to find OpenSceneGraph
|
||||
# components.
|
||||
# Each component is separate and you must opt in to each module.
|
||||
#
|
||||
# Locate OpenThreads
|
||||
# This module defines
|
||||
# OPENTHREADS_LIBRARY
|
||||
# OPENTHREADS_FOUND, if false, do not try to link to OpenThreads
|
||||
# OPENTHREADS_INCLUDE_DIR, where to find the headers
|
||||
#
|
||||
# $OPENTHREADS_DIR is an environment variable that would
|
||||
# correspond to the ./configure --prefix=$OPENTHREADS_DIR
|
||||
# used in building osg.
|
||||
#
|
||||
# Created by Eric Wing.
|
||||
|
||||
# Header files are presumed to be included like
|
||||
# #include <OpenThreads/Thread>
|
||||
|
||||
# Try the user's environment request before anything else.
|
||||
FIND_PATH(OPENTHREADS_INCLUDE_DIR OpenThreads/Thread
|
||||
$ENV{OPENTHREADS_DIR}/include
|
||||
$ENV{OSG_DIR}/include
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
/sw/include # Fink
|
||||
/opt/local/include # DarwinPorts
|
||||
/opt/csw/include # Blastwave
|
||||
/opt/include
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/include
|
||||
)
|
||||
|
||||
|
||||
FIND_LIBRARY(OPENTHREADS_LIBRARY
|
||||
NAMES OpenThreads OpenThreadsWin32
|
||||
PATHS
|
||||
$ENV{OPENTHREADS_DIR}/lib
|
||||
$ENV{OSG_DIR}/lib
|
||||
~/Library/Frameworks
|
||||
/Library/Frameworks
|
||||
/usr/local/lib
|
||||
/usr/lib
|
||||
/sw/lib
|
||||
/opt/local/lib
|
||||
/opt/csw/lib
|
||||
/opt/lib
|
||||
[HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session\ Manager\\Environment;OSG_ROOT]/lib
|
||||
)
|
||||
|
||||
SET(OPENTHREADS_FOUND "NO")
|
||||
IF(OPENTHREADS_INCLUDE_DIR AND OPENTHREADS_LIBRARY)
|
||||
SET(OPENTHREADS_FOUND "YES")
|
||||
ENDIF(OPENTHREADS_INCLUDE_DIR AND OPENTHREADS_LIBRARY)
|
||||
|
||||
|
||||
32
CMakeModules/FindQuickTime.cmake
Normal file
32
CMakeModules/FindQuickTime.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
# Locate QuickTime
|
||||
# This module defines
|
||||
# QUICKTIME_LIBRARY
|
||||
# QUICKTIME_FOUND, if false, do not try to link to gdal
|
||||
# QUICKTIME_INCLUDE_DIR, where to find the headers
|
||||
#
|
||||
# $QUICKTIME_DIR is an environment variable that would
|
||||
# correspond to the ./configure --prefix=$QUICKTIME_DIR
|
||||
# used in building gdal.
|
||||
#
|
||||
# Created by Eric Wing.
|
||||
|
||||
# QuickTime on OS X looks different than QuickTime for Windows,
|
||||
# so I am going to case the two.
|
||||
|
||||
IF(APPLE)
|
||||
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime/QuickTime.h)
|
||||
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
|
||||
ELSE(APPLE)
|
||||
FIND_PATH(QUICKTIME_INCLUDE_DIR QuickTime.h
|
||||
$ENV{QUICKTIME_DIR}/include
|
||||
$ENV{QUICKTIME_DIR}
|
||||
)
|
||||
FIND_LIBRARY(QUICKTIME_LIBRARY QuickTime)
|
||||
ENDIF(APPLE)
|
||||
|
||||
SET(QUICKTIME_FOUND "NO")
|
||||
IF(QUICKTIME_LIBRARY AND QUICKTIME_INCLUDE_DIR)
|
||||
SET(QUICKTIME_FOUND "YES")
|
||||
ENDIF(QUICKTIME_LIBRARY AND QUICKTIME_INCLUDE_DIR)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user