From 461750c38e1835e4a730e0f83a48fe090f41feae Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Wed, 21 Dec 2016 15:05:02 +0000 Subject: X11 platform: Add optional use of the pango library to draw text, gaining the possibility to draw text in any script supported by Unicode. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CMake/options.cmake | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'CMake') diff --git a/CMake/options.cmake b/CMake/options.cmake index 3ffe574be..0b6d2c098 100644 --- a/CMake/options.cmake +++ b/CMake/options.cmake @@ -372,8 +372,46 @@ endif(OPTION_USE_XCURSOR) ####################################################################### if(X11_Xft_FOUND) option(OPTION_USE_XFT "use lib Xft" ON) + option(OPTION_USE_PANGO "use lib Pango" OFF) endif(X11_Xft_FOUND) +####################################################################### +if(X11_Xft_FOUND AND OPTION_USE_PANGO) +#this covers Debian, Ubuntu, FreeBSD, NetBSD, Darwin + if(APPLE AND OPTION_APPLE_X11) + list(APPEND CMAKE_INCLUDE_PATH /sw/include) + list(APPEND CMAKE_LIBRARY_PATH /sw/lib) + endif(APPLE AND OPTION_APPLE_X11) + find_file(HAVE_PANGO_H pango-1.0/pango/pango.h ${CMAKE_INCLUDE_PATH}) + find_file(HAVE_PANGOXFT_H pango-1.0/pango/pangoxft.h ${CMAKE_INCLUDE_PATH}) + + if(HAVE_PANGO_H AND HAVE_PANGOXFT_H) + find_library(HAVE_LIB_PANGO pango-1.0 ${CMAKE_LIBRARY_PATH}) + find_library(HAVE_LIB_PANGOXFT pangoxft-1.0 ${CMAKE_LIBRARY_PATH}) + if(APPLE) + set(HAVE_LIB_GOBJECT TRUE) + else() + find_library(HAVE_LIB_GOBJECT gobject-2.0 ${CMAKE_LIBRARY_PATH}) + endif(APPLE) + endif(HAVE_PANGO_H AND HAVE_PANGOXFT_H) + if(HAVE_LIB_PANGO AND HAVE_LIB_PANGOXFT AND HAVE_LIB_GOBJECT) + set(USE_PANGO TRUE) + message(STATUS "USE_PANGO=" ${USE_PANGO}) + #remove last 3 components of HAVE_PANGO_H and put in PANGO_H_PREFIX + get_filename_component(PANGO_H_PREFIX ${HAVE_PANGO_H} PATH) + get_filename_component(PANGO_H_PREFIX ${PANGO_H_PREFIX} PATH) + get_filename_component(PANGO_H_PREFIX ${PANGO_H_PREFIX} PATH) + + get_filename_component(PANGOLIB_DIR ${HAVE_LIB_PANGO} PATH) + #glib.h is usually in ${PANGO_H_PREFIX}/glib-2.0/ ... + find_path(GLIB_H_PATH glib.h ${PANGO_H_PREFIX}/glib-2.0) + if(NOT GLIB_H_PATH) # ... but not under NetBSD + find_path(GLIB_H_PATH glib.h ${PANGO_H_PREFIX}/glib/glib-2.0) + endif(NOT GLIB_H_PATH) + include_directories(${PANGO_H_PREFIX}/pango-1.0 ${GLIB_H_PATH} ${PANGOLIB_DIR}/glib-2.0/include) + endif(HAVE_LIB_PANGO AND HAVE_LIB_PANGOXFT AND HAVE_LIB_GOBJECT) +endif(X11_Xft_FOUND AND OPTION_USE_PANGO) + if(OPTION_USE_XFT) set(USE_XFT X11_Xft_FOUND) list(APPEND FLTK_LDLIBS -lXft) -- cgit v1.2.3