summaryrefslogtreecommitdiffstats
path: root/Source/cmake/FindCairo.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmake/FindCairo.cmake')
-rw-r--r--Source/cmake/FindCairo.cmake33
1 files changed, 33 insertions, 0 deletions
diff --git a/Source/cmake/FindCairo.cmake b/Source/cmake/FindCairo.cmake
new file mode 100644
index 0000000..db8981e
--- /dev/null
+++ b/Source/cmake/FindCairo.cmake
@@ -0,0 +1,33 @@
+# - Try to find Cairo
+# Once done, this will define
+#
+# Cairo_FOUND - system has Cairo
+# Cairo_INCLUDE_DIRS - the Cairo include directories
+# Cairo_LIBRARIES - link these to use Cairo
+
+include(LibFindMacros)
+
+# Dependencies
+libfind_package(Cairo Freetype)
+
+# Use pkg-config to get hints about paths
+libfind_pkg_check_modules(Cairo_PKGCONF cairo)
+
+# Include dir
+find_path(Cairo_INCLUDE_DIR
+ NAMES cairo.h
+ PATHS ${Cairo_PKGCONF_INCLUDE_DIRS}
+)
+
+# Finally the library itself
+find_library(Cairo_LIBRARY
+ NAMES cairo
+ PATHS ${Cairo_PKGCONF_LIBRARY_DIRS}
+)
+
+# Set the include dir variables and the libraries and let libfind_process do the rest.
+# NOTE: Singular variables for this library, plural for libraries this this lib depends on.
+set(Cairo_PROCESS_INCLUDES Cairo_INCLUDE_DIR Freetype_INCLUDE_DIRS)
+set(Cairo_PROCESS_LIBS Cairo_LIBRARY Freetype_LIBRARIES)
+libfind_process(Cairo)
+