aboutsummaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorhasufell <hasufell@posteo.de>2013-12-08 21:05:25 +0100
committerIlya Zhuravlev <zhuravlevilya@ya.ru>2014-01-05 20:58:40 +0400
commitcb7bb736c70afa7e7dfc90545ad52992a35dc082 (patch)
tree75af1664713d53193bea02f670c1e8fa3505a4c7 /src/CMakeLists.txt
parent160e2b7b7d1edc7630db0eb0ebbd796a66aab89a (diff)
downloadhax-minetest-server-cb7bb736c70afa7e7dfc90545ad52992a35dc082.tar.gz
hax-minetest-server-cb7bb736c70afa7e7dfc90545ad52992a35dc082.zip
BUILD: prefer pkg-config for freetype2 detection
This can solve numerous problems such as: http://www.cmake.org/Bug/view.php?id=13959 http://www.cmake.org/Bug/view.php?id=14601 If pkg-config or freetype2.pc is not found, then fall back to the FindFreetype.cmake module logic. Restrict to UNIX since I only tested it here.
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6418b3b26..f2c1e166a 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -178,7 +178,19 @@ if(ENABLE_GLES)
endif(ENABLE_GLES)
if(USE_FREETYPE)
- find_package(Freetype REQUIRED)
+ if(UNIX)
+ include(FindPkgConfig)
+ if(PKG_CONFIG_FOUND)
+ pkg_check_modules(FREETYPE QUIET freetype2)
+ if(FREETYPE_FOUND)
+ SET(FREETYPE_PKGCONFIG_FOUND TRUE)
+ SET(FREETYPE_LIBRARY ${FREETYPE_LIBRARIES})
+ endif(FREETYPE_FOUND)
+ endif(PKG_CONFIG_FOUND)
+ endif(UNIX)
+ if(NOT FREETYPE_FOUND)
+ find_package(Freetype REQUIRED)
+ endif(NOT FREETYPE_FOUND)
set(CGUITTFONT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cguittfont")
set(CGUITTFONT_LIBRARY cguittfont)
endif(USE_FREETYPE)
@@ -451,6 +463,12 @@ if(BUILD_CLIENT)
)
endif(USE_CURL)
if(USE_FREETYPE)
+ if(FREETYPE_PKGCONFIG_FOUND)
+ set_target_properties(${PROJECT_NAME}
+ PROPERTIES
+ COMPILE_FLAGS "${FREETYPE_CFLAGS}"
+ )
+ endif(FREETYPE_PKGCONFIG_FOUND)
target_link_libraries(
${PROJECT_NAME}
${FREETYPE_LIBRARY}