From a6bd01504c0b3a96b631475c57be3f3302af36ce Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 9 Oct 2018 10:49:44 +0200 Subject: 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 --- src/lib/qtprofilesetup/templates/core.qbs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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); -- cgit v1.2.3