Skip to content

Commit

Permalink
MDEV-22613 Windows - reduce package size
Browse files Browse the repository at this point in the history
Liposuction of about 20% package size is achieved by using
linker /OPT:REF,ICF and compile option /Gw
  • Loading branch information
vaintroub committed May 18, 2020
1 parent 21321fc commit 8eed9a4
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions cmake/os/Windows.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -186,9 +186,8 @@ IF(MSVC)
STRING(REGEX REPLACE "/STACK:([^ ]+)" "" CMAKE_${type}_LINKER_FLAGS "${CMAKE_${type}_LINKER_FLAGS}")
STRING(REGEX REPLACE "/INCREMENTAL:([^ ]+)" "/INCREMENTAL:NO" CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO}")
STRING(REGEX REPLACE "/INCREMENTAL$" "/INCREMENTAL:NO" CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO}")
SET(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF")
IF(NOT CLANG_CL)
SET(CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO} /release")
STRING(APPEND CMAKE_${type}_LINKER_FLAGS_RELWITHDEBINFO " /release /OPT:REF,ICF")
ENDIF()
IF(DYNAMIC_UCRT_LINK AND (MSVC_CRT_TYPE STREQUAL "/MT"))
FOREACH(config RELEASE RELWITHDEBINFO DEBUG MINSIZEREL)
Expand All @@ -208,6 +207,8 @@ IF(MSVC)
IF (NOT CLANG_CL)
STRING(APPEND CMAKE_C_FLAGS " /MP")
STRING(APPEND CMAKE_CXX_FLAGS " /MP")
STRING(APPEND CMAKE_C_FLAGS_RELWITHDEBINFO " /Gw")
STRING(APPEND CMAKE_CXX_FLAGS_RELWITHDEBINFO " /Gw")
ENDIF()

#TODO: update the code and remove the disabled warnings
Expand Down

0 comments on commit 8eed9a4

Please sign in to comment.