summaryrefslogtreecommitdiff
path: root/qbs
diff options
context:
space:
mode:
Diffstat (limited to 'qbs')
-rw-r--r--qbs/imports/QtcFunctions/functions.js19
-rw-r--r--qbs/imports/QtcLibrary.qbs7
-rw-r--r--qbs/imports/QtcPlugin.qbs7
-rw-r--r--qbs/imports/QtcTool.qbs6
4 files changed, 34 insertions, 5 deletions
diff --git a/qbs/imports/QtcFunctions/functions.js b/qbs/imports/QtcFunctions/functions.js
index 23a51f80e8..136f757767 100644
--- a/qbs/imports/QtcFunctions/functions.js
+++ b/qbs/imports/QtcFunctions/functions.js
@@ -22,3 +22,22 @@ function versionIsAtLeast(actualVersion, expectedVersion)
}
return i === expectedVersionParts.length || expectedVersionParts[i] === 0;
}
+
+function commonCxxFlags(qbs)
+{
+ var flags = [];
+ if (qbs.toolchain.contains("clang"))
+ flags.push("-std=c++11");
+ else if (qbs.toolchain.contains("gcc"))
+ flags.push("-std=c++0x");
+ return flags;
+}
+
+function commonLinkerFlags(qbs)
+{
+ var flags = [];
+ if (qbs.toolchain.contains("clang"))
+ flags.push("-stdlib=libc++", "-lc++abi");
+ return flags;
+}
+
diff --git a/qbs/imports/QtcLibrary.qbs b/qbs/imports/QtcLibrary.qbs
index 54f79a3618..ec10919caa 100644
--- a/qbs/imports/QtcLibrary.qbs
+++ b/qbs/imports/QtcLibrary.qbs
@@ -12,11 +12,14 @@ DynamicLibrary {
destinationDirectory: project.ide_library_path
cpp.defines: project.generalDefines
+ cpp.cxxFlags: QtcFunctions.commonCxxFlags(qbs)
cpp.linkerFlags: {
+ var flags = QtcFunctions.commonLinkerFlags(qbs);
if (qbs.buildVariant == "release" && (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw")))
- return ["-Wl,-s"]
+ flags.push("-Wl,-s");
else if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc"))
- return ["/INCREMENTAL:NO"] // Speed up startup time when debugging with cdb
+ flags.push("/INCREMENTAL:NO"); // Speed up startup time when debugging with cdb
+ return flags;
}
cpp.installNamePrefix: "@rpath/PlugIns/"
cpp.rpaths: qbs.targetOS.contains("osx")
diff --git a/qbs/imports/QtcPlugin.qbs b/qbs/imports/QtcPlugin.qbs
index 33e0c633f4..3fb2b2c2ec 100644
--- a/qbs/imports/QtcPlugin.qbs
+++ b/qbs/imports/QtcPlugin.qbs
@@ -27,11 +27,14 @@ Product {
cpp.installNamePrefix: "@rpath/PlugIns/" + provider + "/"
cpp.rpaths: qbs.targetOS.contains("osx") ? ["@loader_path/../..", "@executable_path/.."]
: ["$ORIGIN", "$ORIGIN/..", "$ORIGIN/../.."]
+ cpp.cxxFlags: QtcFunctions.commonCxxFlags(qbs)
cpp.linkerFlags: {
+ var flags = QtcFunctions.commonLinkerFlags(qbs);
if (qbs.buildVariant == "release" && (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw")))
- return ["-Wl,-s"]
+ flags.push("-Wl,-s");
else if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc"))
- return ["/INCREMENTAL:NO"] // Speed up startup time when debugging with cdb
+ flags.push("/INCREMENTAL:NO"); // Speed up startup time when debugging with cdb
+ return flags;
}
property string pluginIncludeBase: ".." // #include <plugin/header.h>
diff --git a/qbs/imports/QtcTool.qbs b/qbs/imports/QtcTool.qbs
index 12f30f8950..0c1433df8d 100644
--- a/qbs/imports/QtcTool.qbs
+++ b/qbs/imports/QtcTool.qbs
@@ -1,12 +1,16 @@
import qbs 1.0
+import QtcFunctions
Application {
type: "application" // no Mac app bundle
Depends { name: "cpp" }
cpp.defines: project.generalDefines
+ cpp.cxxFlags: QtcFunctions.commonCxxFlags(qbs)
cpp.linkerFlags: {
+ var flags = QtcFunctions.commonLinkerFlags(qbs);
if (qbs.buildVariant == "release" && (qbs.toolchain.contains("gcc") || qbs.toolchain.contains("mingw")))
- return ["-Wl,-s"]
+ flags.push("-Wl,-s");
+ return flags;
}
property string toolInstallDir: project.ide_libexec_path