diff options
Diffstat (limited to 'CMake/FindGdkPixbuf.cmake')
-rw-r--r-- | CMake/FindGdkPixbuf.cmake | 65 |
1 files changed, 29 insertions, 36 deletions
diff --git a/CMake/FindGdkPixbuf.cmake b/CMake/FindGdkPixbuf.cmake index 4ea1d5b9..9cad4f92 100644 --- a/CMake/FindGdkPixbuf.cmake +++ b/CMake/FindGdkPixbuf.cmake | |||
@@ -8,43 +8,36 @@ | |||
8 | # Define GDK_PIXBUF_MIN_VERSION for which version desired. | 8 | # Define GDK_PIXBUF_MIN_VERSION for which version desired. |
9 | # | 9 | # |
10 | 10 | ||
11 | INCLUDE(FindPkgConfig) | 11 | find_package(PkgConfig) |
12 | 12 | ||
13 | IF(GdkPixbuf_FIND_REQUIRED) | 13 | if(GdkPixbuf_FIND_REQUIRED) |
14 | SET(_pkgconfig_REQUIRED "REQUIRED") | 14 | set(_pkgconfig_REQUIRED "REQUIRED") |
15 | ELSE(GdkPixbuf_FIND_REQUIRED) | 15 | else(GdkPixbuf_FIND_REQUIRED) |
16 | SET(_pkgconfig_REQUIRED "") | 16 | set(_pkgconfig_REQUIRED "") |
17 | ENDIF(GdkPixbuf_FIND_REQUIRED) | 17 | endif(GdkPixbuf_FIND_REQUIRED) |
18 | 18 | ||
19 | IF(GDK_PIXBUF_MIN_VERSION) | 19 | if(GDK_PIXBUF_MIN_VERSION) |
20 | PKG_SEARCH_MODULE(GDK_PIXBUF ${_pkgconfig_REQUIRED} "gdk-pixbuf-2.0>=${GDK_PIXBUF_MIN_VERSION}") | 20 | pkg_check_modules(GDK_PIXBUF ${_pkgconfig_REQUIRED} "gdk-pixbuf-2.0>=${GDK_PIXBUF_MIN_VERSION}") |
21 | ELSE(GDK_PIXBUF_MIN_VERSION) | 21 | else(GDK_PIXBUF_MIN_VERSION) |
22 | PKG_SEARCH_MODULE(GDK_PIXBUF ${_pkgconfig_REQUIRED} "gdk-pixbuf-2.0") | 22 | pkg_check_modules(GDK_PIXBUF ${_pkgconfig_REQUIRED} "gdk-pixbuf-2.0") |
23 | ENDIF(GDK_PIXBUF_MIN_VERSION) | 23 | endif(GDK_PIXBUF_MIN_VERSION) |
24 | 24 | ||
25 | IF(NOT GDK_PIXBUF_FOUND AND NOT PKG_CONFIG_FOUND) | 25 | if(NOT GDK_PIXBUF_FOUND AND NOT PKG_CONFIG_FOUND) |
26 | FIND_PATH(GDK_PIXBUF_INCLUDE_DIRS gdk-pixbuf/gdk-pixbuf.h) | 26 | find_path(GDK_PIXBUF_INCLUDE_DIRS gdk-pixbuf/gdk-pixbuf.h) |
27 | FIND_LIBRARY(GDK_PIXBUF_LIBRARIES gdk_pixbuf-2.0) | 27 | find_library(GDK_PIXBUF_LIBRARIES gdk_pixbuf-2.0) |
28 | else(NOT GDK_PIXBUF_FOUND AND NOT PKG_CONFIG_FOUND) | ||
29 | SET(GdkPixbuf_FOUND 1) | ||
30 | # Make paths absolute https://stackoverflow.com/a/35476270 | ||
31 | # Important on FreeBSD because /usr/local/lib is not on /usr/bin/ld's default path | ||
32 | set(GDK_PIXBUF_LIBS_ABSOLUTE) | ||
33 | foreach(lib ${GDK_PIXBUF_LIBRARIES}) | ||
34 | set(var_name GDK_PIXBUF_${lib}_ABS) | ||
35 | find_library(${var_name} ${lib} ${GDK_PIXBUF_LIBRARY_DIRS}) | ||
36 | list(APPEND GDK_PIXBUF_LIBS_ABSOLUTE ${${var_name}}) | ||
37 | endforeach() | ||
38 | set(GDK_PIXBUF_LIBRARIES ${GDK_PIXBUF_LIBS_ABSOLUTE}) | ||
39 | endif(NOT GDK_PIXBUF_FOUND AND NOT PKG_CONFIG_FOUND) | ||
28 | 40 | ||
29 | # Report results | 41 | include(FindPackageHandleStandardArgs) |
30 | IF(GDK_PIXBUF_LIBRARIES AND GDK_PIXBUF_INCLUDE_DIRS) | 42 | find_package_handle_standard_args(GDK_PIXBUF DEFAULT_MSG GDK_PIXBUF_LIBRARIES GDK_PIXBUF_INCLUDE_DIRS) |
31 | SET(GDK_PIXBUF_FOUND 1) | 43 | mark_as_advanced(GDK_PIXBUF_LIBRARIES GDK_PIXBUF_INCLUDE_DIRS) |
32 | SET(GdkPixbuf_FOUND 1) | ||
33 | IF(NOT GdkPixbuf_FIND_QUIETLY) | ||
34 | MESSAGE(STATUS "Found GdkPixbuf: ${GDK_PIXBUF_LIBRARIES}") | ||
35 | ENDIF(NOT GdkPixbuf_FIND_QUIETLY) | ||
36 | ELSE(GDK_PIXBUF_LIBRARIES AND GDK_PIXBUF_INCLUDE_DIRS) | ||
37 | IF(GdkPixbuf_FIND_REQUIRED) | ||
38 | MESSAGE(SEND_ERROR "Could not find GdkPixbuf") | ||
39 | ELSE(GdkPixbuf_FIND_REQUIRED) | ||
40 | IF(NOT GdkPixbuf_FIND_QUIETLY) | ||
41 | MESSAGE(STATUS "Could not find GdkPixbuf") | ||
42 | ENDIF(NOT GdkPixbuf_FIND_QUIETLY) | ||
43 | ENDIF(GdkPixbuf_FIND_REQUIRED) | ||
44 | ENDIF(GDK_PIXBUF_LIBRARIES AND GDK_PIXBUF_INCLUDE_DIRS) | ||
45 | ELSE(NOT GDK_PIXBUF_FOUND AND NOT PKG_CONFIG_FOUND) | ||
46 | SET(GdkPixbuf_FOUND 1) | ||
47 | ENDIF(NOT GDK_PIXBUF_FOUND AND NOT PKG_CONFIG_FOUND) | ||
48 | |||
49 | # Hide advanced variables from CMake GUIs | ||
50 | MARK_AS_ADVANCED(GDK_PIXBUF_LIBRARIES GDK_PIXBUF_INCLUDE_DIRS) | ||