summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/permissions.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/permissions.prf')
-rw-r--r--mkspecs/features/permissions.prf25
1 files changed, 25 insertions, 0 deletions
diff --git a/mkspecs/features/permissions.prf b/mkspecs/features/permissions.prf
new file mode 100644
index 0000000000..d80df6d01e
--- /dev/null
+++ b/mkspecs/features/permissions.prf
@@ -0,0 +1,25 @@
+isEmpty(QMAKE_INFO_PLIST): \
+ return()
+
+for(plugin, QT_PLUGINS) {
+ !equals(QT_PLUGIN.$${plugin}.TYPE, permissions): \
+ next()
+
+ usage_descriptions = $$eval(QT_PLUGIN.$${plugin}.usage_descriptions)
+ for(usage_description_key, usage_descriptions) {
+ usage_description = $$system("/usr/libexec/PlistBuddy" \
+ "-c 'print $$usage_description_key' $$QMAKE_INFO_PLIST 2>/dev/null")
+ !isEmpty(usage_description): \
+ break()
+ }
+
+ isEmpty(usage_description): \
+ next()
+
+ request_flag = $$eval(QT_PLUGIN.$${plugin}.request_flag)
+
+ QTPLUGIN += $$plugin
+ QMAKE_LFLAGS += $$request_flag
+
+ QMAKE_INTERNAL_INCLUDED_FILES *= $$QMAKE_INFO_PLIST
+}