[Qt] Re-generate QtWebKit API forwarding headers when API changes
[WebKit-https.git] / Tools / qmake / mkspecs / features / functions.prf
index 609b8df840395da9c11cd178e46becf4b0940516..8ac43f9cdf61551cc4bea4cef35f28d4e392ca1c 100644 (file)
@@ -280,3 +280,33 @@ defineTest(linkLibrary) {
     export(CONFIG)
     return(true)
 }
+
+defineTest(runSyncQt) {
+
+    build_pass:return(true)
+
+    haveQt(5) {
+        # Qt 5 will run synqt as part of defaults_pre, so no need to do anything
+    } else {
+        # Use our own copy of syncqt from Qt 4.8 to generate forwarding headers
+        syncqt = $$toSystemPath($${ROOT_WEBKIT_DIR}/Tools/qmake/syncqt-4.8)
+        command = $$syncqt
+        win32-msvc*: command = $$command -windows
+
+        outdir = $$toSystemPath($${ROOT_BUILD_DIR})
+
+        # The module root has to be the same as directory of the pro-file that generates
+        # the install rules (api.pri), otherwise the relative paths in the generated
+        # headers.pri will be incorrect.
+        module_rootdir = $$toSystemPath($${_PRO_FILE_PWD_})
+
+        module = $${TARGET}$${DIRLIST_SEPARATOR}$${module_rootdir}$${DIRLIST_SEPARATOR}$$toSystemPath(WebKit/qt/Api)
+        command = perl $${command} -outdir $${outdir} -separate-module $${module}
+        message(Running $$command)
+        !system($$command) {
+            error(Failed to run $${command})
+        }
+    }
+
+    return(true)
+}