From f2df4e0076a29a32813f870741b0f89fcbf00eed Mon Sep 17 00:00:00 2001 From: Ray Molenkamp Date: Fri, 7 Feb 2020 07:35:17 -0700 Subject: Build optimization: Compile glew for size rather than speed with msvc. Glew.obj is one of the more expensive targets we have to build clocking in at 34.907 seconds. The root cause [1] is the msvc inliner is not super thrilled with the glewIsSupported supported function, this patch changes the buildflags of extern_glew to optimize for size rather than speed. Given glew is only in play at initalization time there will be no performance impact. Time to build glew.obj Before: 34.907s After : 1.961s [1] https://developercommunity.visualstudio.com/content/problem/732941/slow-compilation-of-glewc-for-visual-studio-2019-x.html Differential Revision: https://developer.blender.org/D6656 Reviewers: brecht, sergey, fclem --- extern/glew/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'extern/glew/CMakeLists.txt') diff --git a/extern/glew/CMakeLists.txt b/extern/glew/CMakeLists.txt index 18ca88e6fec..59f13eb73c7 100644 --- a/extern/glew/CMakeLists.txt +++ b/extern/glew/CMakeLists.txt @@ -25,6 +25,16 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID MATCHES "Clang") ) endif() +# MSVC's inliner is not having a happy time with glewIsSupported +# causing this to be one of the most expensive things to build +# in blender. Optimize for size rather than speed sidesteps this +# problem, more details at +# https://developercommunity.visualstudio.com/content/problem/732941/slow-compilation-of-glewc-for-visual-studio-2019-x.html + +if(MSVC) + add_c_flag("/Os") +endif() + set(INC include ) -- cgit v1.2.3