summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/plugins/CMakeLists.txt4
-rw-r--r--src/plugins/printsupport/CMakeLists.txt11
-rw-r--r--src/plugins/printsupport/cups/CMakeLists.txt28
-rw-r--r--src/printsupport/configure.cmake4
-rwxr-xr-xutil/cmake/configurejson2cmake.py1
5 files changed, 45 insertions, 3 deletions
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
index acea77a60a..1daaf47be7 100644
--- a/src/plugins/CMakeLists.txt
+++ b/src/plugins/CMakeLists.txt
@@ -23,6 +23,6 @@ if (QT_FEATURE_widgets)
# TODO add_subdirectory(styles)
endif()
-if (NOT WINRT AND QT_FEATURE_printsupport)
-# TODO add_subdirectory(printsupport)
+if (NOT WINRT AND TARGET PrintSupport)
+ add_subdirectory(printsupport)
endif()
diff --git a/src/plugins/printsupport/CMakeLists.txt b/src/plugins/printsupport/CMakeLists.txt
new file mode 100644
index 0000000000..9a92a865c0
--- /dev/null
+++ b/src/plugins/printsupport/CMakeLists.txt
@@ -0,0 +1,11 @@
+if (APPLE_OSX)
+# TODO add_subdirectory(cocoa)
+endif()
+
+if (WIN32)
+# TODO add_subdirectory(windows)
+endif()
+
+if (UNIX AND NOT APPLE AND QT_FEATURE_cups)
+ add_subdirectory(cups)
+endif()
diff --git a/src/plugins/printsupport/cups/CMakeLists.txt b/src/plugins/printsupport/cups/CMakeLists.txt
new file mode 100644
index 0000000000..d36a5e7be5
--- /dev/null
+++ b/src/plugins/printsupport/cups/CMakeLists.txt
@@ -0,0 +1,28 @@
+# Generated from cups.pro.
+
+find_package(Cups)
+
+#####################################################################
+## cupsprintersupport Plugin:
+#####################################################################
+
+add_qt_plugin(cupsprintersupport
+ TYPE printsupport
+ SOURCES
+ main.cpp
+ qcupsprintengine.cpp qcupsprintengine_p.h
+ qcupsprintersupport.cpp qcupsprintersupport_p.h
+ qppdprintdevice.cpp qppdprintdevice.h
+ INCLUDE_DIRECTORIES
+ ../../../printsupport/kernel
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::GuiPrivate
+ Qt::PrintSupport
+ Qt::PrintSupportPrivate
+ Cups::Cups
+ # MODULE = "cupsprintersupport"
+ # OTHER_FILES = "cups.json"
+ # PLUGIN_CLASS_NAME = "QCupsPrinterSupportPlugin"
+ # _LOADED = "qt_plugin"
+)
diff --git a/src/printsupport/configure.cmake b/src/printsupport/configure.cmake
index a443e333fc..40aab5d9f7 100644
--- a/src/printsupport/configure.cmake
+++ b/src/printsupport/configure.cmake
@@ -6,6 +6,8 @@
#### Libraries
+find_package(Cups)
+set_package_properties(Cups PROPERTIES TYPE OPTIONAL)
#### Tests
@@ -18,7 +20,7 @@ qt_feature("cups" PUBLIC PRIVATE
SECTION "Painting"
LABEL "CUPS"
PURPOSE "Provides support for the Common Unix Printing System."
- CONDITION libs.cups AND QT_FEATURE_printer AND QT_FEATURE_datestring OR FIXME
+ CONDITION Cups_FOUND AND QT_FEATURE_printer AND QT_FEATURE_datestring
)
qt_feature_definition("cups" "QT_NO_CUPS" NEGATE VALUE "1")
qt_feature("cupsjobwidget" PUBLIC PRIVATE
diff --git a/util/cmake/configurejson2cmake.py b/util/cmake/configurejson2cmake.py
index 5a2b95d699..d24a3d4b5e 100755
--- a/util/cmake/configurejson2cmake.py
+++ b/util/cmake/configurejson2cmake.py
@@ -49,6 +49,7 @@ def map_library(lib: str) -> Union[str, LibraryMapping, List[str]]:
libmap = {
'atspi': 'ATSPI2',
'corewlan': None, # Framework
+ 'cups': 'Cups',
'double-conversion': 'WrapDoubleConversion',
'drm': 'Libdrm',
'egl': LibraryMapping(package="OpenGL", resultVariable="OpenGL_EGL"),