aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-10-09 10:49:44 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-10-09 16:28:45 +0000
commita6bd01504c0b3a96b631475c57be3f3302af36ce (patch)
treeb5c56e52f64ad156334425aff766771dd797c689
parent7529118204c1e09da8e27fff35401234c2c36363 (diff)
Qt templates: Take sanitizers into account
If Qt was built with e.g. address sanitizing, then code linking against it should also have it enabled. Otherwise applications will not run out of the box. Change-Id: I25360d72073499a10ba84d84a47e539f39baf318 Fixes: QBS-1387 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r--src/lib/qtprofilesetup/templates/core.qbs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/qtprofilesetup/templates/core.qbs b/src/lib/qtprofilesetup/templates/core.qbs
index cd7428423..928c69cda 100644
--- a/src/lib/qtprofilesetup/templates/core.qbs
+++ b/src/lib/qtprofilesetup/templates/core.qbs
@@ -116,6 +116,20 @@ Module {
}
return defines;
}
+ cpp.driverFlags: {
+ var flags = [];
+ if (qbs.toolchain.contains("gcc")) {
+ if (config.contains("sanitize_address"))
+ flags.push("-fsanitize=address");
+ if (config.contains("sanitize_undefined"))
+ flags.push("-fsanitize=undefined");
+ if (config.contains("sanitize_thread"))
+ flags.push("-fsanitize=thread");
+ if (config.contains("sanitize_memory"))
+ flags.push("-fsanitize=memory");
+ }
+ return flags;
+ }
cpp.includePaths: {
var paths = @includes@;
paths.push(mkspecPath, generatedHeadersDir);