summaryrefslogtreecommitdiff
path: root/cmake/Findcairo.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/Findcairo.cmake')
-rw-r--r--cmake/Findcairo.cmake40
1 files changed, 40 insertions, 0 deletions
diff --git a/cmake/Findcairo.cmake b/cmake/Findcairo.cmake
new file mode 100644
index 0000000..b2d6671
--- /dev/null
+++ b/cmake/Findcairo.cmake
@@ -0,0 +1,40 @@
+set(CAIRO_LIBRARY_NAME cairo)
+
+find_package(PkgConfig)
+if (PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_CAIRO QUIET ${CAIRO_LIBRARY_NAME})
+ set(CAIRO_DEfINITIONS ${PC_CAIRO_CFLAGS_OTHER})
+endif (PKG_CONFIG_FOUND)
+
+set(CAIRO_INCLUDE_HINTS ${PC_CAIRO_INCLUDEDIR} ${PC_CAIRO_INCLUDE_DIRS})
+set(CAIRO_LIBRARY_HINTS ${PC_CAIRO_LIBDIR} ${PC_CAIRO_LIBRARY_DIRS})
+
+find_path(CAIRO_INCLUDE_DIR
+ NAMES cairo.h
+ HINTS ${CAIRO_INCLUDE_HINTS}
+ /usr/include
+ /usr/local/include
+ /opt/local/include
+ PATH_SUFFIXES ${CAIRO_LIBRARY_NAME})
+
+find_library(CAIRO_LIBRARY
+ NAMES ${CAIRO_LIBRARY_NAME}
+ HINTS ${CAIRO_LIBRARY_HINTS}
+ /usr/lib
+ /usr/local/lib
+ /opt/local/lib
+ PATH_SUFFIXES ${CAIRO_LIBRARY_NAME}
+ ${CAIRO_LIBRARY_NAME}/include)
+
+set(CAIRO_LIBRARIES ${CAIRO_LIBRARY})
+set(CAIRO_INCLUDE_DIRS ${CAIRO_INCLUDE_DIR};${CAIRO_CONFIG_INCLUDE_DIRS})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(cairo
+ FOUND_VAR CAIRO_FOUND
+ REQUIRED_VARS
+ CAIRO_LIBRARY
+ CAIRO_INCLUDE_DIR
+ VERSION_VAR CAIRO_VERSION)
+
+mark_as_advanced(CAIRO_INCLUDE_DIR CAIRO_LIBRARY)