diff options
Diffstat (limited to 'CMake/FindPango.cmake')
-rw-r--r-- | CMake/FindPango.cmake | 61 |
1 files changed, 28 insertions, 33 deletions
diff --git a/CMake/FindPango.cmake b/CMake/FindPango.cmake index 64bf9ac4..eb296d75 100644 --- a/CMake/FindPango.cmake +++ b/CMake/FindPango.cmake | |||
@@ -8,40 +8,35 @@ | |||
8 | # Define PANGO_MIN_VERSION for which version desired. | 8 | # Define PANGO_MIN_VERSION for which version desired. |
9 | # | 9 | # |
10 | 10 | ||
11 | INCLUDE(FindPkgConfig) | 11 | find_package(PkgConfig) |
12 | 12 | ||
13 | IF(Pango_FIND_REQUIRED) | 13 | if(Pango_FIND_REQUIRED) |
14 | SET(_pkgconfig_REQUIRED "REQUIRED") | 14 | set(_pkgconfig_REQUIRED "REQUIRED") |
15 | ELSE(Pango_FIND_REQUIRED) | 15 | else(Pango_FIND_REQUIRED) |
16 | SET(_pkgconfig_REQUIRED "") | 16 | set(_pkgconfig_REQUIRED "") |
17 | ENDIF(Pango_FIND_REQUIRED) | 17 | endif(Pango_FIND_REQUIRED) |
18 | 18 | ||
19 | IF(PANGO_MIN_VERSION) | 19 | if(PANGO_MIN_VERSION) |
20 | PKG_SEARCH_MODULE(PANGO ${_pkgconfig_REQUIRED} "pango>=${PANGO_MIN_VERSION} pangocairo>=${PANGO_MIN_VERSION}") | 20 | pkg_check_modules(PANGO ${_pkgconfig_REQUIRED} "pango>=${PANGO_MIN_VERSION}" "pangocairo>=${PANGO_MIN_VERSION}") |
21 | ELSE(PANGO_MIN_VERSION) | 21 | else(PANGO_MIN_VERSION) |
22 | PKG_SEARCH_MODULE(PANGO ${_pkgconfig_REQUIRED} "pango pangocairo") | 22 | pkg_check_modules(PANGO ${_pkgconfig_REQUIRED} pango pangocairo) |
23 | ENDIF(PANGO_MIN_VERSION) | 23 | endif(PANGO_MIN_VERSION) |
24 | 24 | ||
25 | IF(NOT PANGO_FOUND AND NOT PKG_CONFIG_FOUND) | 25 | if(NOT PANGO_FOUND AND NOT PKG_CONFIG_FOUND) |
26 | FIND_PATH(PANGO_INCLUDE_DIRS pango.h) | 26 | find_path(PANGO_INCLUDE_DIRS pango.h) |
27 | FIND_LIBRARY(PANGO_LIBRARIES pango pangocairo) | 27 | find_library(PANGO_LIBRARIES pango pangocairo) |
28 | else(NOT PANGO_FOUND AND NOT PKG_CONFIG_FOUND) | ||
29 | # Make paths absolute https://stackoverflow.com/a/35476270 | ||
30 | # Important on FreeBSD because /usr/local/lib is not on /usr/bin/ld's default path | ||
31 | set(PANGO_LIBS_ABSOLUTE) | ||
32 | foreach(lib ${PANGO_LIBRARIES}) | ||
33 | set(var_name PANGO_${lib}_ABS) | ||
34 | find_library(${var_name} ${lib} ${PANGO_LIBRARY_DIRS}) | ||
35 | list(APPEND PANGO_LIBS_ABSOLUTE ${${var_name}}) | ||
36 | endforeach() | ||
37 | set(PANGO_LIBRARIES ${PANGO_LIBS_ABSOLUTE}) | ||
38 | endif(NOT PANGO_FOUND AND NOT PKG_CONFIG_FOUND) | ||
28 | 39 | ||
29 | # Report results | 40 | include(FindPackageHandleStandardArgs) |
30 | IF(PANGO_LIBRARIES AND PANGO_INCLUDE_DIRS) | 41 | find_package_handle_standard_args(PANGO DEFAULT_MSG PANGO_LIBRARIES PANGO_INCLUDE_DIRS) |
31 | SET(PANGO_FOUND 1) | 42 | mark_as_advanced(PANGO_LIBRARIES PANGO_INCLUDE_DIRS) |
32 | IF(NOT Pango_FIND_QUIETLY) | ||
33 | MESSAGE(STATUS "Found Pango: ${PANGO_LIBRARIES}") | ||
34 | ENDIF(NOT Pango_FIND_QUIETLY) | ||
35 | ELSE(PANGO_LIBRARIES AND PANGO_INCLUDE_DIRS) | ||
36 | IF(Pango_FIND_REQUIRED) | ||
37 | MESSAGE(SEND_ERROR "Could not find Pango") | ||
38 | ELSE(Pango_FIND_REQUIRED) | ||
39 | IF(NOT Pango_FIND_QUIETLY) | ||
40 | MESSAGE(STATUS "Could not find Pango") | ||
41 | ENDIF(NOT Pango_FIND_QUIETLY) | ||
42 | ENDIF(Pango_FIND_REQUIRED) | ||
43 | ENDIF(PANGO_LIBRARIES AND PANGO_INCLUDE_DIRS) | ||
44 | ENDIF(NOT PANGO_FOUND AND NOT PKG_CONFIG_FOUND) | ||
45 | |||
46 | # Hide advanced variables from CMake GUIs | ||
47 | MARK_AS_ADVANCED(PANGO_LIBRARIES PANGO_INCLUDE_DIRS) | ||