diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake index ae6fab7206..9a6dc6a59f 100644 --- a/build/cmake/init.cmake +++ b/build/cmake/init.cmake @@ -564,6 +564,19 @@ if(wxUSE_GUI) set(wxUSE_LIBMSPACK OFF) endif() + if(WXGTK AND wxUSE_PRINTING_ARCHITECTURE AND wxUSE_GTKPRINT) + find_package(GTKPRINT ${wxTOOLKIT_VERSION}) + if(GTKPRINT_FOUND) + list(APPEND wxTOOLKIT_INCLUDE_DIRS ${GTKPRINT_INCLUDE_DIRS}) + list(APPEND wxTOOLKIT_EXTRA "GTK+ printing") + else() + message(STATUS "GTK printing support not found (GTK+ >= 2.10), library will use GNOME printing support or standard PostScript printing") + wx_option_force_value(wxUSE_GTKPRINT OFF) + endif() + else() + set(wxUSE_GTKPRINT OFF) + endif() + if(WXGTK AND wxUSE_MIMETYPE AND wxUSE_LIBGNOMEVFS) find_package(GNOMEVFS2) if(GNOMEVFS2_FOUND) diff --git a/build/cmake/modules/FindGTKPRINT.cmake b/build/cmake/modules/FindGTKPRINT.cmake new file mode 100644 index 0000000000..9a2b8138dd --- /dev/null +++ b/build/cmake/modules/FindGTKPRINT.cmake @@ -0,0 +1,33 @@ +# - Try to find GTK Print +# Provide the GTK version as argument +# Once done this will define +# +# GTKPRINT_FOUND - system has GTK Print +# GTKPRINT_INCLUDE_DIRS - The include directory to use for the GTK Print headers + +if(NOT GTKPRINT_FIND_VERSION EQUAL GTKPRINT_FIND_VERSION_USED) + unset(GTKPRINT_FOUND CACHE) + unset(GTKPRINT_INCLUDE_DIRS CACHE) + unset(GTKPRINT_FIND_VERSION_USED CACHE) +endif() +set(GTKPRINT_FIND_VERSION_USED "${GTKPRINT_FIND_VERSION}" CACHE INTERNAL "") + +if(GTKPRINT_FIND_VERSION VERSION_LESS 3.0) + set(GTKPRINT_LIB_NAME "gtk+-unix-print-2.0") +else() + set(GTKPRINT_LIB_NAME "gtk+-unix-print-3.0") +endif() + +find_package(PkgConfig) +pkg_check_modules(PC_GTKPRINT QUIET ${GTKPRINT_LIB_NAME}) + +find_path(GTKPRINT_INCLUDE_DIRS + NAMES gtk/gtkunixprint.h + HINTS ${PC_GTKPRINT_INCLUDEDIR} + ${PC_GTKPRINT_INCLUDE_DIRS} +) + +include(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTKPRINT DEFAULT_MSG GTKPRINT_INCLUDE_DIRS) + +mark_as_advanced(GTKPRINT_INCLUDE_DIRS) diff --git a/build/cmake/options.cmake b/build/cmake/options.cmake index 64ee4a3422..82816793cb 100644 --- a/build/cmake/options.cmake +++ b/build/cmake/options.cmake @@ -127,6 +127,7 @@ if(UNIX) wx_option(wxUSE_LIBNOTIFY "use libnotify for notifications") wx_option(wxUSE_XTEST "use XTest extension") wx_option(wxUSE_LIBMSPACK "use libmspack (CHM help files loading)") + wx_option(wxUSE_GTKPRINT "use GTK printing support") wx_option(wxUSE_LIBGNOMEVFS "use GNOME VFS for associating MIME types") wx_option(wxUSE_GLCANVAS_EGL "use EGL backend for wxGLCanvas")