summaryrefslogtreecommitdiff
path: root/cmake/modules/FindCairo.cmake
blob: a0a8400d32cb1e9494ad45f8d969b5eb8dbe5cb0 (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
# - try to find Cairo
# Once done this will define
#
#  CAIRO_FOUND - system has Cairo
#  CAIRO_CFLAGS - the Cairo CFlags
#  CAIRO_LIBRARIES - Link these to use Cairo
#
# Copyright (c) 2007, Pino Toscano, <pino@kde.org>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.

if (NOT WIN32)
  include(UsePkgConfig)

  pkgconfig(cairo _LibCairoIncDir _LibCairoLinkDir _CairoLinkFlags _CairoCflags)
  set (CAIRO_FOUND FALSE)
  if (_LibCairoIncDir)

    if (CAIRO_VERSION)

      exec_program(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=${CAIRO_VERSION} cairo RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull)
      if(_return_VALUE STREQUAL "0")
        set (CAIRO_CFLAGS ${_CairoCflags})
        set (CAIRO_LIBRARIES ${_CairoLinkFlags})
      endif(_return_VALUE STREQUAL "0")

    else (CAIRO_VERSION)
      set (CAIRO_CFLAGS ${_CairoCflags})
      set (CAIRO_LIBRARIES ${_CairoLinkFlags})
    endif (CAIRO_VERSION)

    include(FindPackageHandleStandardArgs)
    find_package_handle_standard_args(Cairo DEFAULT_MSG CAIRO_LIBRARIES CAIRO_CFLAGS)

  endif (_LibCairoIncDir)

endif(NOT WIN32)

mark_as_advanced(
  CAIRO_CFLAGS
  CAIRO_LIBRARIES
)