# - 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. # find_package(PkgConfig) if(Cairo_FIND_REQUIRED) set(_pkgconfig_REQUIRED "REQUIRED") else(Cairo_FIND_REQUIRED) set(_pkgconfig_REQUIRED "") endif(Cairo_FIND_REQUIRED) if(CAIRO_MIN_VERSION) pkg_check_modules(CAIRO ${_pkgconfig_REQUIRED} cairo>=${CAIRO_MIN_VERSION}) else(CAIRO_MIN_VERSION) pkg_check_modules(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) else(NOT CAIRO_FOUND AND NOT PKG_CONFIG_FOUND) # Make paths absolute https://stackoverflow.com/a/35476270 # Important on FreeBSD because /usr/local/lib is not on /usr/bin/ld's default path set(CAIRO_LIBS_ABSOLUTE) foreach(lib ${CAIRO_LIBRARIES}) set(var_name CAIRO_${lib}_ABS) find_library(${var_name} ${lib} ${CAIRO_LIBRARY_DIRS}) list(APPEND CAIRO_LIBS_ABSOLUTE ${${var_name}}) endforeach() set(CAIRO_LIBRARIES ${CAIRO_LIBS_ABSOLUTE}) endif(NOT CAIRO_FOUND AND NOT PKG_CONFIG_FOUND) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(CAIRO DEFAULT_MSG CAIRO_LIBRARIES CAIRO_INCLUDE_DIRS) mark_as_advanced(CAIRO_LIBRARIES CAIRO_INCLUDE_DIRS)