diff options
author | Yuhang Zhao <2546789017@qq.com> | 2020-11-03 11:57:55 +0800 |
---|---|---|
committer | Yuhang Zhao <2546789017@qq.com> | 2020-11-12 03:51:04 +0800 |
commit | f27f9e7bd3d180fed533bda3be812707ed38c6c0 (patch) | |
tree | ae3deac3a3dd2f2c38238126abbe7cf48e8ee44b /cmake | |
parent | d8bd8308f8a0139711ea7d801eeae4ab2228c528 (diff) |
MSVC: enable identical COMDAT folding for release builds
According to Microsoft's docs, /OPT:ICF is enabled by the
linker by default unless /OPT:NOICF or /DEBUG is specified.
If we are in RelWithDebInfo mode, /DEBUG is passed to the
linker to generate debug symbols, however, it caused the
identical COMDAT folding be disabled. We now pass /OPT:ICF
to the linker explicitly to prevent this.
[1] https://docs.microsoft.com/en-us/cpp/build/reference/opt-optimizations?view=msvc-160
Change-Id: I02099edb81034ace7bb19f1164d57829e3979a5f
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtInternalTargets.cmake | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake index 84faba1413..2fd99c7be3 100644 --- a/cmake/QtInternalTargets.cmake +++ b/cmake/QtInternalTargets.cmake @@ -194,7 +194,7 @@ if (MSVC) target_link_options(PlatformCommonInternal INTERFACE -DYNAMICBASE -NXCOMPAT - $<$<NOT:$<CONFIG:Debug>>:-OPT:REF> + $<$<NOT:$<CONFIG:Debug>>:-OPT:REF -OPT:ICF> ) endif() |