aboutsummaryrefslogtreecommitdiff
path: root/CMake/FindCairo.cmake
blob: 01ba7d6c3bef7f3f0e10f1fe89c52d2c75d747cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# - Try to find the cairo library
# Once done this will define
#
#  CAIRO_FOUND - system has cairo
#  CAIRO_INCLUDE_DIRS - the cairo include directory
#  CAIRO_LIBRARIES - Link these to use cairo
#
# Define CAIRO_MIN_VERSION for which version desired.
#

include(FindPkgConfig)

if(Cairo_FIND_REQUIRED)
  set(_pkgconfig_REQUIRED "REQUIRED")
else(Cairo_FIND_REQUIRED)
  set(_pkgconfig_REQUIRED "")
endif(Cairo_FIND_REQUIRED)

if(CAIRO_MIN_VERSION)
  pkg_search_module(CAIRO ${_pkgconfig_REQUIRED} cairo>=${CAIRO_MIN_VERSION})
else(CAIRO_MIN_VERSION)
  pkg_search_module(CAIRO ${_pkgconfig_REQUIRED} cairo)
endif(CAIRO_MIN_VERSION)

if(NOT CAIRO_FOUND AND NOT PKG_CONFIG_FOUND)
  FIND_PATH(CAIRO_INCLUDE_DIRS cairo.h)
  FIND_LIBRARY(CAIRO_LIBRARIES cairo)
endif(NOT CAIRO_FOUND AND NOT PKG_CONFIG_FOUND)

# Report results
if(CAIRO_LIBRARIES AND CAIRO_INCLUDE_DIRS)

  set(CAIRO_FOUND 1)
  if(NOT Cairo_FIND_QUIETLY)
    message(STATUS "Found Cairo: includes '${CAIRO_INCLUDE_DIRS}', libraries '${CAIRO_LIBRARIES}'")
  endif(NOT Cairo_FIND_QUIETLY)

else(CAIRO_LIBRARIES AND CAIRO_INCLUDE_DIRS)

  if(Cairo_FIND_REQUIRED)
    message(SEND_ERROR "Could not find Cairo")
  else(Cairo_FIND_REQUIRED)
    if(NOT Cairo_FIND_QUIETLY)
      message(STATUS "Could not find Cairo")
    endif(NOT Cairo_FIND_QUIETLY)
  endif(Cairo_FIND_REQUIRED)

endif(CAIRO_LIBRARIES AND CAIRO_INCLUDE_DIRS)