From 12f78c2ba6567ccef8e913f7e154015d54e8a7ed Mon Sep 17 00:00:00 2001 From: Yuri Kunde Schlesner Date: Tue, 28 Jul 2015 14:32:29 -0300 Subject: Enable linker optimizations in MSVC Release builds Apparently /DEBUG implicitly disables linker optimizations. This explicitly re-enables them, giving a 40% reduction in binary sizes and a very slight runtime speed improvement. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e945a667..a02b85da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,7 +48,7 @@ else() set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "" FORCE) set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/DEBUG" CACHE STRING "" FORCE) - set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG" CACHE STRING "" FORCE) + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /INCREMENTAL:NO /OPT:REF,ICF" CACHE STRING "" FORCE) endif() add_definitions(-DSINGLETHREADED) -- cgit v1.2.3