summaryrefslogtreecommitdiffstats
path: root/Modules/FindFreetype.cmake
diff options
context:
space:
mode:
authorAlexander Neundorf <neundorf@kde.org>2008-01-04 12:25:27 (GMT)
committerAlexander Neundorf <neundorf@kde.org>2008-01-04 12:25:27 (GMT)
commit473e5bb4753496eec7f03c610753b5d478b79a38 (patch)
tree6e7df4623273f56a2542796ad70b16cd8c721585 /Modules/FindFreetype.cmake
parentb8785c4524cbbe15499075655e32317ff4e586a5 (diff)
downloadCMake-473e5bb4753496eec7f03c610753b5d478b79a38.zip
CMake-473e5bb4753496eec7f03c610753b5d478b79a38.tar.gz
CMake-473e5bb4753496eec7f03c610753b5d478b79a38.tar.bz2
STYLE: renamed FindFreeType.cmake to FindFreetype.cmake to make it more
compatible with the one in KDE4 Alex
Diffstat (limited to 'Modules/FindFreetype.cmake')
-rw-r--r--Modules/FindFreetype.cmake116
1 files changed, 116 insertions, 0 deletions
diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
new file mode 100644
index 0000000..b42cd8c
--- /dev/null
+++ b/Modules/FindFreetype.cmake
@@ -0,0 +1,116 @@
+# - 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}
+ NO_DEFAULT_PATH
+ 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/X11
+ /usr/X11R6
+ /usr/X11
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+ /usr/freeware
+ PATH_SUFFIXES include
+)
+
+FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h
+ $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/include/freetype2
+ /usr/local/X11R6/include/freetype2
+ /usr/local/X11/include/freetype2
+ /usr/X11R6/include/freetype2
+ /usr/X11/include/freetype2
+ /sw/include/freetype2
+ /opt/local/include/freetype2
+ /opt/csw/include/freetype2
+ /opt/include/freetype2
+ /usr/freeware/include/freetype2
+)
+
+FIND_LIBRARY(FREETYPE_LIBRARY
+ NAMES freetype libfreetype freetype219
+ PATHS
+ $ENV{FREETYPE_DIR}
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+FIND_LIBRARY(FREETYPE_LIBRARY
+ NAMES freetype libfreetype freetype219
+ PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
+ NO_DEFAULT_PATH
+ PATH_SUFFIXES lib64 lib
+)
+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)
+ 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)
+
+