summaryrefslogtreecommitdiffstats
path: root/CMake/FindCairo.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'CMake/FindCairo.cmake')
-rw-r--r--CMake/FindCairo.cmake47
1 files changed, 47 insertions, 0 deletions
diff --git a/CMake/FindCairo.cmake b/CMake/FindCairo.cmake
new file mode 100644
index 00000000..36c28095
--- /dev/null
+++ b/CMake/FindCairo.cmake
@@ -0,0 +1,47 @@
1# - Try to find the cairo library
2# Once done this will define
3#
4# CAIRO_FOUND - system has cairo
5# CAIRO_INCLUDE_DIRS - the cairo include directory
6# CAIRO_LIBRARIES - Link these to use cairo
7#
8# Define CAIRO_MIN_VERSION for which version desired.
9#
10
11INCLUDE(FindPkgConfig)
12
13IF(Cairo_FIND_REQUIRED)
14 SET(_pkgconfig_REQUIRED "REQUIRED")
15ELSE(Cairo_FIND_REQUIRED)
16 SET(_pkgconfig_REQUIRED "")
17ENDIF(Cairo_FIND_REQUIRED)
18
19IF(CAIRO_MIN_VERSION)
20 PKG_SEARCH_MODULE(CAIRO ${_pkgconfig_REQUIRED} cairo>=${CAIRO_MIN_VERSION})
21ELSE(CAIRO_MIN_VERSION)
22 PKG_SEARCH_MODULE(CAIRO ${_pkgconfig_REQUIRED} cairo)
23ENDIF(CAIRO_MIN_VERSION)
24
25IF(NOT CAIRO_FOUND AND NOT PKG_CONFIG_FOUND)
26 FIND_PATH(CAIRO_INCLUDE_DIRS cairo.h)
27 FIND_LIBRARY(CAIRO_LIBRARIES cairo)
28
29 # Report results
30 IF(CAIRO_LIBRARIES AND CAIRO_INCLUDE_DIRS)
31 SET(CAIRO_FOUND 1)
32 IF(NOT Cairo_FIND_QUIETLY)
33 MESSAGE(STATUS "Found Cairo: ${CAIRO_LIBRARIES}")
34 ENDIF(NOT Cairo_FIND_QUIETLY)
35 ELSE(CAIRO_LIBRARIES AND CAIRO_INCLUDE_DIRS)
36 IF(Cairo_FIND_REQUIRED)
37 MESSAGE(SEND_ERROR "Could not find Cairo")
38 ELSE(Cairo_FIND_REQUIRED)
39 IF(NOT Cairo_FIND_QUIETLY)
40 MESSAGE(STATUS "Could not find Cairo")
41 ENDIF(NOT Cairo_FIND_QUIETLY)
42 ENDIF(Cairo_FIND_REQUIRED)
43 ENDIF(CAIRO_LIBRARIES AND CAIRO_INCLUDE_DIRS)
44ENDIF(NOT CAIRO_FOUND AND NOT PKG_CONFIG_FOUND)
45
46# Hide advanced variables from CMake GUIs
47MARK_AS_ADVANCED(CAIRO_LIBRARIES CAIRO_INCLUDE_DIRS)