Fix FindFreetype naming and find logic
Freetype is quite complicated, copied most of the logic from the original FindFreetype module.
This commit is contained in:
@@ -1,16 +1,12 @@
|
||||
# Once done these will be defined:
|
||||
#
|
||||
# LIBFREETYPE_FOUND
|
||||
# LIBFREETYPE_INCLUDE_DIRS
|
||||
# LIBFREETYPE_LIBRARIES
|
||||
#
|
||||
# For use in OBS:
|
||||
#
|
||||
# FREETYPE_INCLUDE_DIR
|
||||
# FREETYPE_FOUND
|
||||
# FREETYPE_INCLUDE_DIRS
|
||||
# FREETYPE_LIBRARIES
|
||||
#
|
||||
|
||||
if(LIBFREETYPE_INCLUDE_DIRS AND LIBFREETYPE_LIBRARIES)
|
||||
set(LIBFREETYPE_FOUND TRUE)
|
||||
if(FREETYPE_INCLUDE_DIRS AND FREETYPE_LIBRARIES)
|
||||
set(FREETYPE_FOUND TRUE)
|
||||
else()
|
||||
find_package(PkgConfig QUIET)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
@@ -23,38 +19,62 @@ else()
|
||||
set(_lib_suffix 32)
|
||||
endif()
|
||||
|
||||
set(FREETYPE_PATH_ARCH FreetypePath${_lib_suffix})
|
||||
find_path(FREETYPE_INCLUDE_DIR_ft2build
|
||||
NAMES
|
||||
ft2build.h
|
||||
HINTS
|
||||
${_FREETYPE_INCLUDE_DIRS}
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FreetypePath${_lib_suffix}
|
||||
ENV FreetypePath
|
||||
ENV FREETYPE_DIR
|
||||
PATHS
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES
|
||||
include/freetype2 include)
|
||||
|
||||
if (NOT _FREETYPE_INCLUDE_DIRS STREQUAL "")
|
||||
set (FREETYPE_INCLUDE_DIR ${_FREETYPE_INCLUDE_DIRS})
|
||||
else()
|
||||
find_path(FREETYPE_INCLUDE_DIR
|
||||
NAMES ft2build.h
|
||||
HINTS
|
||||
${_FREETYPE_INCLUDE_DIRS}
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FreetypePath
|
||||
ENV ${FREETYPE_PATH_ARCH}
|
||||
PATHS
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include)
|
||||
endif()
|
||||
find_path(FREETYPE_INCLUDE_DIR_freetype2
|
||||
NAMES
|
||||
freetype/config/ftheader.h
|
||||
config/ftheader.h
|
||||
HINTS
|
||||
${_FREETYPE_INCLUDE_DIRS}
|
||||
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
|
||||
"$ENV{obsAdditionalInstallFiles}/include"
|
||||
ENV FreetypePath${_lib_suffix}
|
||||
ENV FreetypePath
|
||||
ENV FREETYPE_DIR
|
||||
PATHS
|
||||
/usr/include /usr/local/include /opt/local/include /sw/include
|
||||
PATH_SUFFIXES
|
||||
include/freetype2 include)
|
||||
|
||||
find_library(FREETYPE_LIB
|
||||
NAMES ${_FREETYPE_LIBRARIES} freetype libfreetype
|
||||
HINTS
|
||||
${_FREETYPE_LIBRARY_DIRS}
|
||||
"${FREETYPE_INCLUDE_DIR}/../lib"
|
||||
"${FREETYPE_INCLUDE_DIR}/../lib${_lib_suffix}"
|
||||
"${FREETYPE_INCLUDE_DIR}/../libs${_lib_suffix}"
|
||||
"${FREETYPE_INCLUDE_DIR}/lib"
|
||||
"${FREETYPE_INCLUDE_DIR}/lib${_lib_suffix}"
|
||||
"${FREETYPE_INCLUDE_DIR_ft2build}/../lib"
|
||||
"${FREETYPE_INCLUDE_DIR_ft2build}/../lib${_lib_suffix}"
|
||||
"${FREETYPE_INCLUDE_DIR_ft2build}/../libs${_lib_suffix}"
|
||||
"${FREETYPE_INCLUDE_DIR_ft2build}/lib"
|
||||
"${FREETYPE_INCLUDE_DIR_ft2build}/lib${_lib_suffix}"
|
||||
ENV FREETYPE_DIR
|
||||
PATHS
|
||||
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
|
||||
/usr/lib /usr/local/lib /opt/local/lib /sw/lib
|
||||
PATH_SUFFIXES
|
||||
lib${_lib_suffix} lib)
|
||||
|
||||
set(LIBFREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR} CACHE PATH "freetype include dir")
|
||||
set(LIBFREETYPE_LIBRARIES ${FREETYPE_LIB} CACHE STRING "freetype libraries")
|
||||
if(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
|
||||
set(FREETYPE_INCLUDE_DIR "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
|
||||
list(REMOVE_DUPLICATES FREETYPE_INCLUDE_DIR)
|
||||
else()
|
||||
unset(FREETYPE_INCLUDE_DIR)
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(Libfreetype DEFAULT_MSG FREETYPE_LIB FREETYPE_INCLUDE_DIR)
|
||||
mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_LIB)
|
||||
set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR} CACHE PATH "freetype include dirs")
|
||||
set(FREETYPE_LIBRARIES ${FREETYPE_LIB} CACHE STRING "freetype libraries")
|
||||
|
||||
find_package_handle_standard_args(Freetype DEFAULT_MSG FREETYPE_LIB FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
|
||||
mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_LIB)
|
||||
endif()
|
||||
|
Reference in New Issue
Block a user