summaryrefslogtreecommitdiffstats
path: root/mkspecs/win32-clang-msvc/qmake.conf
diff options
context:
space:
mode:
authorYuhang Zhao <2546789017@qq.com>2018-12-11 00:52:36 +0800
committerYuhang Zhao <2546789017@qq.com>2018-12-16 10:40:03 +0000
commitb34143f8a19040a457d399a22f0bde53ac327ff1 (patch)
treea9f9f8cd8c4dd67b1234864c65cc4fda2abbf2f5 /mkspecs/win32-clang-msvc/qmake.conf
parent8571abc09720d17a60361b8ab88d5eb8110d9dea (diff)
Fix clang LTCG config on Windows
To enable LTCG, clang-cl.exe need "-flto" instead of "-GL". But if you enabled LTO, the lib tool will have to change to "llvm-lib.exe" and the link tool also need to change to "lld-link.exe", because msvc linker will see these lib files as corrupted files. Leave QMAKE_LFLAGS_LTCG empty because lld-link doesn't need any additional parameters. Fixes: QTBUG-72402 Change-Id: Ia34d98bd1ad919d542ea3eac83944bf8c40ce0cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Diffstat (limited to 'mkspecs/win32-clang-msvc/qmake.conf')
-rw-r--r--mkspecs/win32-clang-msvc/qmake.conf8
1 files changed, 8 insertions, 0 deletions
diff --git a/mkspecs/win32-clang-msvc/qmake.conf b/mkspecs/win32-clang-msvc/qmake.conf
index ba9704e069..027f93ca6e 100644
--- a/mkspecs/win32-clang-msvc/qmake.conf
+++ b/mkspecs/win32-clang-msvc/qmake.conf
@@ -15,6 +15,14 @@ QMAKE_CFLAGS += -Wno-microsoft-enum-value
QMAKE_CXXFLAGS += -Wno-microsoft-enum-value
+QMAKE_LINK = lld-link
+QMAKE_LIB = llvm-lib /NOLOGO
+
+QMAKE_CFLAGS_LTCG = -flto
+QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
+# Leave QMAKE_LFLAGS_LTCG empty because lld-link doesn't need any additional parameters
+QMAKE_LFLAGS_LTCG =
+
# Precompiled headers are not supported yet by clang
CONFIG -= precompile_header