diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-10-09 10:49:44 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-10-09 16:28:45 +0000 |
commit | a6bd01504c0b3a96b631475c57be3f3302af36ce (patch) | |
tree | b5c56e52f64ad156334425aff766771dd797c689 | |
parent | 7529118204c1e09da8e27fff35401234c2c36363 (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.qbs | 14 |
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); |