Here's some patches for the FindFreetype module.
The first few patches change formatting. While the
last one extends the functionality.

-- 
Taylor Holberton
Bay Point, California
From 9307dce0496e5b24152ed796b3c4089010009d56 Mon Sep 17 00:00:00 2001
From: Taylor Holberton <taylorcholber...@gmail.com>
Date: Sat, 24 May 2014 21:34:01 -0700
Subject: [PATCH 1/5] Added newlines, reduced code width

---
 Modules/FindFreetype.cmake |   40 +++++++++++++++++++++++++++++++---------
 1 file changed, 31 insertions(+), 9 deletions(-)

diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index 1779b78..21904e4 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -51,7 +51,9 @@
 # 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
+find_path(
+  FREETYPE_INCLUDE_DIR_ft2build
+  ft2build.h
   HINTS
     ENV FREETYPE_DIR
   PATHS
@@ -62,10 +64,14 @@ find_path(FREETYPE_INCLUDE_DIR_ft2build ft2build.h
     ENV GTKMM_BASEPATH
     [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-  PATH_SUFFIXES include/freetype2 include freetype2
+  PATH_SUFFIXES
+    include/freetype2
+    include
+    freetype2
 )
 
-find_path(FREETYPE_INCLUDE_DIR_freetype2
+find_path(
+  FREETYPE_INCLUDE_DIR_freetype2
   NAMES
     freetype/config/ftheader.h
     config/ftheader.h
@@ -79,11 +85,17 @@ find_path(FREETYPE_INCLUDE_DIR_freetype2
     ENV GTKMM_BASEPATH
     [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
-  PATH_SUFFIXES include/freetype2 include freetype2
+  PATH_SUFFIXES
+    include/freetype2
+    include
+    freetype2
 )
 
 find_library(FREETYPE_LIBRARY
-  NAMES freetype libfreetype freetype219
+  NAMES
+    freetype
+    libfreetype
+    freetype219
   HINTS
     ENV FREETYPE_DIR
   PATH_SUFFIXES lib
@@ -134,8 +146,18 @@ endif()
 # handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if
 # all listed variables are TRUE
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Freetype
-                                  REQUIRED_VARS FREETYPE_LIBRARY FREETYPE_INCLUDE_DIRS
-                                  VERSION_VAR FREETYPE_VERSION_STRING)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+  Freetype
+  REQUIRED_VARS
+    FREETYPE_LIBRARY
+    FREETYPE_INCLUDE_DIRS
+  VERSION_VAR
+    FREETYPE_VERSION_STRING
+)
+
+mark_as_advanced(
+  FREETYPE_LIBRARY
+  FREETYPE_INCLUDE_DIR_freetype2
+  FREETYPE_INCLUDE_DIR_ft2build
+)
 
-mark_as_advanced(FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_INCLUDE_DIR_ft2build)
-- 
1.7.9.5

From 6ec2c4c5f87fb03d96ad27d11da4139b96f51bec Mon Sep 17 00:00:00 2001
From: Taylor Holberton <taylorcholber...@gmail.com>
Date: Sat, 24 May 2014 21:35:39 -0700
Subject: [PATCH 2/5] Moved PATH_SUFFIXES argument for more consistency

---
 Modules/FindFreetype.cmake |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index 21904e4..d9fbb92 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -98,7 +98,6 @@ find_library(FREETYPE_LIBRARY
     freetype219
   HINTS
     ENV FREETYPE_DIR
-  PATH_SUFFIXES lib
   PATHS
     /usr/X11R6
     /usr/local/X11R6
@@ -107,6 +106,8 @@ find_library(FREETYPE_LIBRARY
     ENV GTKMM_BASEPATH
     [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
+  PATH_SUFFIXES
+    lib
 )
 
 # set the user variables
-- 
1.7.9.5

From 6e7e2c356b17bc5139620e08c5168b09013d0b9b Mon Sep 17 00:00:00 2001
From: Taylor Holberton <taylorcholber...@gmail.com>
Date: Sat, 24 May 2014 21:37:28 -0700
Subject: [PATCH 3/5] Removed caps from find_package_handle_standard_args

---
 Modules/FindFreetype.cmake |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index d9fbb92..278c10f 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -147,7 +147,8 @@ endif()
 # handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if
 # all listed variables are TRUE
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+
+find_package_handle_standard_args(
   Freetype
   REQUIRED_VARS
     FREETYPE_LIBRARY
-- 
1.7.9.5

From cbc682614095c2f992ceb7c9b4256dc1e9c030cc Mon Sep 17 00:00:00 2001
From: Taylor Holberton <taylorcholber...@gmail.com>
Date: Sat, 24 May 2014 21:38:43 -0700
Subject: [PATCH 4/5] Changed 4 to 2 space tab in version search

---
 Modules/FindFreetype.cmake |   30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index 278c10f..f892283 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -124,23 +124,23 @@ elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h")
 endif()
 
 if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H)
-    file(STRINGS "${FREETYPE_H}" freetype_version_str
-         REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
+  file(STRINGS "${FREETYPE_H}" freetype_version_str
+       REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$")
 
-    unset(FREETYPE_VERSION_STRING)
-    foreach(VPART MAJOR MINOR PATCH)
-        foreach(VLINE ${freetype_version_str})
-            if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$")
-                set(FREETYPE_VERSION_PART "${CMAKE_MATCH_1}")
-                if(FREETYPE_VERSION_STRING)
-                    set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
-                else()
-                    set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
-                endif()
-                unset(FREETYPE_VERSION_PART)
-            endif()
-        endforeach()
+  unset(FREETYPE_VERSION_STRING)
+  foreach(VPART MAJOR MINOR PATCH)
+    foreach(VLINE ${freetype_version_str})
+      if(VLINE MATCHES "^#[\t ]*define[\t ]+FREETYPE_${VPART}[\t ]+([0-9]+)$")
+        set(FREETYPE_VERSION_PART "${CMAKE_MATCH_1}")
+        if(FREETYPE_VERSION_STRING)
+          set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_STRING}.${FREETYPE_VERSION_PART}")
+        else()
+          set(FREETYPE_VERSION_STRING "${FREETYPE_VERSION_PART}")
+        endif()
+        unset(FREETYPE_VERSION_PART)
+      endif()
     endforeach()
+  endforeach()
 endif()
 
 
-- 
1.7.9.5

From 22858d54dbe4de70d141dca0eace68e6ef82f512 Mon Sep 17 00:00:00 2001
From: Taylor Holberton <taylorcholber...@gmail.com>
Date: Sat, 24 May 2014 21:59:43 -0700
Subject: [PATCH 5/5] Added CMAKE_SYSTEM_PREFIX_PATH and freetype suffixes to
 search paths

---
 Modules/FindFreetype.cmake |   14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/Modules/FindFreetype.cmake b/Modules/FindFreetype.cmake
index f892283..fda2946 100644
--- a/Modules/FindFreetype.cmake
+++ b/Modules/FindFreetype.cmake
@@ -64,10 +64,14 @@ find_path(
     ENV GTKMM_BASEPATH
     [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
+    ${CMAKE_SYSTEM_PREFIX_PATH}
   PATH_SUFFIXES
     include/freetype2
     include
     freetype2
+    freetype/include
+    freetype/include/freetype
+    freetype/include/freetype2
 )
 
 find_path(
@@ -85,10 +89,17 @@ find_path(
     ENV GTKMM_BASEPATH
     [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
+    ${CMAKE_SYSTEM_PREFIX_PATH}
   PATH_SUFFIXES
     include/freetype2
     include
     freetype2
+    freetype/include
+    freetype/include/freetype
+    freetype/include/freetype2
+    freetype2/include
+    freetype2/include/freetype
+    freetype2/include/freetype2
 )
 
 find_library(FREETYPE_LIBRARY
@@ -106,8 +117,11 @@ find_library(FREETYPE_LIBRARY
     ENV GTKMM_BASEPATH
     [HKEY_CURRENT_USER\\SOFTWARE\\gtkmm\\2.4;Path]
     [HKEY_LOCAL_MACHINE\\SOFTWARE\\gtkmm\\2.4;Path]
+    ${CMAKE_SYSTEM_PREFIX_PATH}
   PATH_SUFFIXES
     lib
+    freetype/lib
+    freetype2/lib
 )
 
 # set the user variables
-- 
1.7.9.5

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to