cmake: Fix freetype detection

* since last freetype upgrade cmake cannot detect it
* e.g. webkit-efl requires freetype and is failing because of this

(From OE-Core rev: 0cd58eb1ca29bdc53f623aba1f761b97cfe31fb4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Martin Jansa
2014-01-12 18:33:11 +01:00
committed by Richard Purdie
parent f805cff5fc
commit 56236e74f0
2 changed files with 48 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ SRC_URI = "http://www.cmake.org/files/v${CMAKE_MAJOR_VERSION}/cmake-${PV}.tar.gz
file://aarch64-cmake.patch \
file://aarch64-kwsys.patch \
file://qt4-fail-silent.patch \
file://cmake-2.8.11.2-FindFreetype.patch \
"
inherit autotools

View File

@@ -0,0 +1,47 @@
From: Julian Ospald <hasufell@gentoo.org>
Date: Sun Dec 8 13:38:06 UTC 2013
Subject: fix check for freetype-2.5.1
Upstream-Status: Submitted http://www.cmake.org/Bug/view.php?id=14601
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
--- old/Modules/FindFreetype.cmake
+++ new/Modules/FindFreetype.cmake
@@ -64,6 +64,19 @@
PATH_SUFFIXES include/freetype2 include
)
+if(NOT FREETYPE_INCLUDE_DIR_freetype2)
+ find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h
+ HINTS
+ ENV FREETYPE_DIR
+ PATHS
+ /usr/X11R6
+ /usr/local/X11R6
+ /usr/local/X11
+ /usr/freeware
+ PATH_SUFFIXES include/freetype2 include
+ )
+endif()
+
find_library(FREETYPE_LIBRARY
NAMES freetype libfreetype freetype219
HINTS
@@ -82,8 +95,14 @@
endif()
set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
-if(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
- file(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str
+if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h")
+elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h")
+ set(FREETYPE_H "${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]+$")
unset(FREETYPE_VERSION_STRING)