aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/scanner
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2016-11-29 00:18:16 -0800
committerJake Petroules <jake.petroules@qt.io>2016-12-16 20:59:01 +0000
commit383b073e6c9284bea18f2bf6af0d7240c69c12ff (patch)
tree561404a7bc95e98313ab411836bfbe2f1238f183 /src/plugins/scanner
parent7ebdd6ef8002e949469ed4dad4be8414dd0b2aab (diff)
Allow scanner plugins to be built statically
Scanner plugins will now also be built statically when Qbs is built against a static Qt, enabling single-binary distributions. Change-Id: Id2587b79815bcc6d9ec569f5b168445fe7e843d3 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/scanner')
-rw-r--r--src/plugins/scanner/cpp/cpp.qbs2
-rw-r--r--src/plugins/scanner/cpp/cppscanner.cpp6
-rw-r--r--src/plugins/scanner/qt/qtscanner.cpp6
-rw-r--r--src/plugins/scanner/scannerplugin.qbs10
4 files changed, 17 insertions, 7 deletions
diff --git a/src/plugins/scanner/cpp/cpp.qbs b/src/plugins/scanner/cpp/cpp.qbs
index ce15c59fa..33b576253 100644
--- a/src/plugins/scanner/cpp/cpp.qbs
+++ b/src/plugins/scanner/cpp/cpp.qbs
@@ -2,7 +2,7 @@ import qbs 1.0
import "../scannerplugin.qbs" as ScannerPlugin
ScannerPlugin {
- cpp.defines: ["CPLUSPLUS_NO_PARSER"]
+ cpp.defines: base.concat(["CPLUSPLUS_NO_PARSER"])
name: "qbs_cpp_scanner"
files: [
"../scanner.h",
diff --git a/src/plugins/scanner/cpp/cppscanner.cpp b/src/plugins/scanner/cpp/cppscanner.cpp
index a0f91c3a0..b95abe3ad 100644
--- a/src/plugins/scanner/cpp/cppscanner.cpp
+++ b/src/plugins/scanner/cpp/cppscanner.cpp
@@ -403,14 +403,16 @@ ScannerPlugin rcScanner =
ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
-ScannerPlugin *theScanners[] = {
+ScannerPlugin *cppScanners[] = {
&hppScanner, &pchCppScanner, &pchCScanner, &pchObjcppScanner, &pchObjcScanner,
&cppScanner, &cScanner, &objcppScanner, &objcScanner, &rcScanner, NULL
};
+#ifndef QBS_STATIC_LIB
CPPSCANNER_EXPORT ScannerPlugin **getScanners()
{
- return theScanners;
+ return cppScanners;
}
+#endif
} // extern "C"
diff --git a/src/plugins/scanner/qt/qtscanner.cpp b/src/plugins/scanner/qt/qtscanner.cpp
index 75f33de3b..4cd77b8af 100644
--- a/src/plugins/scanner/qt/qtscanner.cpp
+++ b/src/plugins/scanner/qt/qtscanner.cpp
@@ -183,11 +183,13 @@ ScannerPlugin qrcScanner =
NoScannerFlags
};
-ScannerPlugin *theScanners[] = {&qrcScanner, NULL};
+ScannerPlugin *qtScanners[] = {&qrcScanner, NULL};
+#ifndef QBS_STATIC_LIB
SCANNER_EXPORT ScannerPlugin **getScanners()
{
- return theScanners;
+ return qtScanners;
}
+#endif
} // extern "C"
diff --git a/src/plugins/scanner/scannerplugin.qbs b/src/plugins/scanner/scannerplugin.qbs
index 2b34926b6..ae87ca980 100644
--- a/src/plugins/scanner/scannerplugin.qbs
+++ b/src/plugins/scanner/scannerplugin.qbs
@@ -1,9 +1,12 @@
import qbs 1.0
-DynamicLibrary {
+QbsProduct {
Depends { name: "cpp" }
+ Depends { name: "bundle"; condition: qbs.targetOS.contains("darwin") }
Depends { name: "Qt.core" }
Depends { name: "qbsbuildconfig" }
+ type: Qt.core.staticBuild ? ["staticlibrary"] : ["dynamiclibrary"]
+ cpp.defines: base.concat(type.contains("staticlibrary") ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"])
cpp.cxxLanguageVersion: "c++11"
destinationDirectory: qbsbuildconfig.libDirName + "/qbs/plugins"
Group {
@@ -11,5 +14,8 @@ DynamicLibrary {
qbs.install: true
qbs.installDir: qbsbuildconfig.pluginsInstallDir + "/qbs/plugins"
}
- bundle.isBundle: false
+ Properties {
+ condition: qbs.targetOS.contains("darwin")
+ bundle.isBundle: false
+ }
}