summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJørgen Lind <jorgen.lind@nokia.com>2011-12-12 12:55:23 +0100
committerQt by Nokia <qt-info@nokia.com>2011-12-12 17:27:19 +0100
commitcdacf0918e784f6dd3bd82659b23d6deaaef7766 (patch)
treedf4a27e57d80f6f59573265d2004540e584ec22f
parent91b48208f57b10f1b0378d1888fb96af73bc9fa3 (diff)
Add a wayland-scanner rule to qmake
Change-Id: I142ca2ba2a817745b818d2740d9ae8e0eaf3b797 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
-rw-r--r--mkspecs/common/linux.conf1
-rw-r--r--mkspecs/features/unix/default_pre.prf4
-rw-r--r--mkspecs/features/wayland-scanner.prf32
3 files changed, 37 insertions, 0 deletions
diff --git a/mkspecs/common/linux.conf b/mkspecs/common/linux.conf
index d60533e923..de28ec7d1f 100644
--- a/mkspecs/common/linux.conf
+++ b/mkspecs/common/linux.conf
@@ -40,6 +40,7 @@ QMAKE_INCDIR_WAYLAND =
QMAKE_LIBS_WAYLAND =
QMAKE_LIBDIR_WAYLAND =
QMAKE_DEFINES_WAYLAND =
+QMAKE_WAYLAND_SCANNER = wayland-scanner
QMAKE_MOC = $$[QT_INSTALL_BINS]/moc
QMAKE_UIC = $$[QT_INSTALL_BINS]/uic
diff --git a/mkspecs/features/unix/default_pre.prf b/mkspecs/features/unix/default_pre.prf
new file mode 100644
index 0000000000..d978d14166
--- /dev/null
+++ b/mkspecs/features/unix/default_pre.prf
@@ -0,0 +1,4 @@
+linux*:CONFIG = wayland-scanner $$CONFIG
+
+load(default_pre)
+
diff --git a/mkspecs/features/wayland-scanner.prf b/mkspecs/features/wayland-scanner.prf
new file mode 100644
index 0000000000..90e1e0f953
--- /dev/null
+++ b/mkspecs/features/wayland-scanner.prf
@@ -0,0 +1,32 @@
+#
+# Wayland-scanner extra-compiler for handling files specified in the WAYLANDSOURCES variable
+#
+
+isEmpty(QMAKE_WAYLAND_SCANNER):error("QMAKE_WAYLAND_SCANNER not defined for this mkspec")
+
+wayland-server-header.name = wayland ${QMAKE_FILE_BASE}
+wayland-server-header.input = WAYLANDSOURCES
+wayland-server-header.variable_out = HEADERS
+wayland-server-header.output = wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
+wayland-server-header.commands = $$QMAKE_WAYLAND_SCANNER server-header < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
+
+silent:wayland-server-header.commands = @echo Wayland server header ${QMAKE_FILE_IN} && $$wayland-server-header.commands
+QMAKE_EXTRA_COMPILERS += wayland-server-header
+
+wayland-client-header.name = wayland ${QMAKE_FILE_BASE}
+wayland-client-header.input = WAYLANDSOURCES
+wayland-client-header.variable_out = HEADERS
+wayland-client-header.output = wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
+wayland-client-header.commands = $$QMAKE_WAYLAND_SCANNER client-header < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
+
+silent:wayland-client-header.commands = @echo Wayland client header ${QMAKE_FILE_IN} && $$wayland-client-header.commands
+QMAKE_EXTRA_COMPILERS += wayland-client-header
+
+wayland-code.name = wayland ${QMAKE_FILE_BASE}
+wayland-code.input = WAYLANDSOURCES
+wayland-code.variable_out = SOURCES
+wayland-code.output = wayland-${QMAKE_FILE_BASE}-protocol.c
+wayland-code.commands = $$QMAKE_WAYLAND_SCANNER code < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
+
+silent:wayland-code.commands = @echo Wayland code header ${QMAKE_FILE_IN} && $$wayland-code.commands
+QMAKE_EXTRA_COMPILERS += wayland-code