aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsplugin.qbs
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-05-12 18:50:50 -0700
committerJake Petroules <jake.petroules@qt.io>2017-06-13 15:47:18 +0000
commit8b5e5af31e7c0860f8cf4f8fa50e7b322cadca62 (patch)
tree36a7e2fc38c7571cdf7e4c6b6449754e39cb993c /src/plugins/qbsplugin.qbs
parentd5dc7a2571027168d1a74cbb2578848dc843e20e (diff)
Transform the scanner plugin manager into a true generic plugin manager
...and fit the generator plugins into this new plugin structure. Plugins are now handled entirely by the build system in a generic manner and no part of qbscore (code or build files) has a direct reference to any plugin regardless of whether qbs is being built as shared or static libraries. Change-Id: I4a20546ce275df71083ee22c2cb67f781c4de764 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src/plugins/qbsplugin.qbs')
-rw-r--r--src/plugins/qbsplugin.qbs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/plugins/qbsplugin.qbs b/src/plugins/qbsplugin.qbs
new file mode 100644
index 000000000..44638b7b3
--- /dev/null
+++ b/src/plugins/qbsplugin.qbs
@@ -0,0 +1,24 @@
+import qbs 1.0
+
+QbsProduct {
+ Depends { name: "cpp" }
+ Depends { name: "bundle"; condition: qbs.targetOS.contains("darwin") }
+ Depends { name: "Qt.core" }
+ Depends { name: "qbsbuildconfig" }
+ Depends { name: "qbscore"; condition: !Qt.core.staticBuild }
+ type: (Qt.core.staticBuild ? ["staticlibrary"] : ["dynamiclibrary"]).concat(["qbsplugin"])
+ cpp.defines: base.concat(type.contains("staticlibrary") ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"])
+ cpp.cxxLanguageVersion: "c++11"
+ cpp.includePaths: base.concat(["../../../lib/corelib"])
+ cpp.visibility: "hidden"
+ destinationDirectory: qbsbuildconfig.libDirName + "/qbs/plugins"
+ Group {
+ fileTagsFilter: ["dynamiclibrary"]
+ qbs.install: true
+ qbs.installDir: qbsbuildconfig.pluginsInstallDir + "/qbs/plugins"
+ }
+ Properties {
+ condition: qbs.targetOS.contains("darwin")
+ bundle.isBundle: false
+ }
+}