Skip to content
Snippets Groups Projects
Commit cb7bb736 authored by hasufell's avatar hasufell Committed by Ilya Zhuravlev
Browse files

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.
parent 160e2b7b
No related branches found
No related tags found
No related merge requests found
...@@ -178,7 +178,19 @@ if(ENABLE_GLES) ...@@ -178,7 +178,19 @@ if(ENABLE_GLES)
endif(ENABLE_GLES) endif(ENABLE_GLES)
if(USE_FREETYPE) 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_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cguittfont")
set(CGUITTFONT_LIBRARY cguittfont) set(CGUITTFONT_LIBRARY cguittfont)
endif(USE_FREETYPE) endif(USE_FREETYPE)
...@@ -451,6 +463,12 @@ if(BUILD_CLIENT) ...@@ -451,6 +463,12 @@ if(BUILD_CLIENT)
) )
endif(USE_CURL) endif(USE_CURL)
if(USE_FREETYPE) if(USE_FREETYPE)
if(FREETYPE_PKGCONFIG_FOUND)
set_target_properties(${PROJECT_NAME}
PROPERTIES
COMPILE_FLAGS "${FREETYPE_CFLAGS}"
)
endif(FREETYPE_PKGCONFIG_FOUND)
target_link_libraries( target_link_libraries(
${PROJECT_NAME} ${PROJECT_NAME}
${FREETYPE_LIBRARY} ${FREETYPE_LIBRARY}
......
include_directories(
${IRRLICHT_INCLUDE_DIR}
${FREETYPE_INCLUDE_DIRS}
)
# CGUITTFont authors, y u no include headers you use? # CGUITTFont authors, y u no include headers you use?
# Do not add CGUITTFont.cpp to the line below. # Do not add CGUITTFont.cpp to the line below.
# xCGUITTFont.cpp is a wrapper file that includes # xCGUITTFont.cpp is a wrapper file that includes
# additional required headers. # additional required headers.
add_library(cguittfont xCGUITTFont.cpp) add_library(cguittfont xCGUITTFont.cpp)
if(FREETYPE_PKGCONFIG_FOUND)
set_target_properties(cguittfont
PROPERTIES
COMPILE_FLAGS "${FREETYPE_CFLAGS}"
LINK_FLAGS "${FREETYPE_LDFLAGS}"
)
include_directories(
${IRRLICHT_INCLUDE_DIR}
)
else(FREETYPE_PKGCONFIG_FOUND)
include_directories(
${IRRLICHT_INCLUDE_DIR}
${FREETYPE_INCLUDE_DIRS}
)
endif(FREETYPE_PKGCONFIG_FOUND)
target_link_libraries( target_link_libraries(
cguittfont cguittfont
${IRRLICHT_LIBRARY} ${IRRLICHT_LIBRARY}
${FREETYPE_LIBRARY} ${FREETYPE_LIBRARY}
${ZLIB_LIBRARIES} # needed by freetype, repeated here for safety ${ZLIB_LIBRARIES} # needed by freetype, repeated here for safety
) )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment