Patchwork cmake: Fix freetype detection

login
register
mail settings
Submitter Martin Jansa
Date Jan. 12, 2014, 5:33 p.m.
Message ID <1389547991-3456-1-git-send-email-Martin.Jansa@gmail.com>
Download mbox | patch
Permalink /patch/64577/
State Accepted
Commit 56236e74f0fe275c1e3e7b59f44ca55cba1d4e3b
Headers show

Comments

Martin Jansa - Jan. 12, 2014, 5:33 p.m.
* since last freetype upgrade cmake cannot detect it
* e.g. webkit-efl requires freetype and is failing because of this

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 meta/recipes-devtools/cmake/cmake.inc              |  1 +
 .../cmake/cmake/cmake-2.8.11.2-FindFreetype.patch  | 47 ++++++++++++++++++++++
 2 files changed, 48 insertions(+)
 create mode 100644 meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
Martin Jansa - Jan. 21, 2014, 1:02 p.m.
On Sun, Jan 12, 2014 at 06:33:11PM +0100, Martin Jansa wrote:
> * since last freetype upgrade cmake cannot detect it
> * e.g. webkit-efl requires freetype and is failing because of this

ping

+ Ross as he is working on cmake as well as freetype

> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  meta/recipes-devtools/cmake/cmake.inc              |  1 +
>  .../cmake/cmake/cmake-2.8.11.2-FindFreetype.patch  | 47 ++++++++++++++++++++++
>  2 files changed, 48 insertions(+)
>  create mode 100644 meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
> 
> diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
> index 69f4fe2..f76f68b 100644
> --- a/meta/recipes-devtools/cmake/cmake.inc
> +++ b/meta/recipes-devtools/cmake/cmake.inc
> @@ -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
> diff --git a/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch b/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
> new file mode 100644
> index 0000000..1b523c0
> --- /dev/null
> +++ b/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
> @@ -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)
> -- 
> 1.8.5.2
>
Ross Burton - Jan. 21, 2014, 4:12 p.m.
On 21 January 2014 13:02, Martin Jansa <martin.jansa@gmail.com> wrote:
> + Ross as he is working on cmake as well as freetype

I think I need to state for the record that I only fixed up cmake's
S/B stuff because it was driving me insane, and hate cmake. :)

Ross

Patch

diff --git a/meta/recipes-devtools/cmake/cmake.inc b/meta/recipes-devtools/cmake/cmake.inc
index 69f4fe2..f76f68b 100644
--- a/meta/recipes-devtools/cmake/cmake.inc
+++ b/meta/recipes-devtools/cmake/cmake.inc
@@ -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
diff --git a/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch b/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
new file mode 100644
index 0000000..1b523c0
--- /dev/null
+++ b/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch
@@ -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)