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.
This commit is contained in:
parent
160e2b7b7d
commit
cb7bb736c7
|
@ -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)
|
||||||
)
|
)
|
||||||
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}
|
||||||
|
|
|
@ -1,17 +1,29 @@
|
||||||
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
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue