Seems OK On Wednesday, October 17, 2018 10:13:25 AM MSK Alexander Turenko wrote: > On Tue, Oct 16, 2018 at 09:09:02PM +0300, Konstantin Osipov wrote: > > * Alexander Turenko [18/10/15 10:15]: > > > From: AKhatskevich > > > > > > Added -DENABLE_LTO=ON/OFF cmake option, OFF by default. > > > > > > LTO speeds up cpu-intensive workloads by up to 20% (see [1] and [2]). > > > > > Requirements for LTO enabling: > > to enable LTO, not "for LTO enabling". > > > > The same applies to cmake message: > > > +if(CMAKE_VERSION VERSION_LESS 3.9) > > > + message(FATAL_ERROR "cmake >= 3.9 is needed for LTO enabling") > > > +endif() > > Fixed. > > > > + > > > +# Set 'CMP0069 NEW' behaviour for this project to support > > > +# compilers other than Intel Compiler and suppress cmake > > > +# warnings on the unset policy. > > > +cmake_policy(SET CMP0069 NEW) > > > > Please describe what this policy is about, not only just what it > > is for. > > -# Set 'CMP0069 NEW' behaviour for this project to support > -# compilers other than Intel Compiler and suppress cmake > -# warnings on the unset policy. > +# 'CMP0069 NEW' behaviour enables LTO for compilers other then > +# Intel Compiler when CMAKE_INTERPROCEDURAL_OPTIMIZATION is > +# enabled and provides CheckIPOSupported module. We set the policy > +# to support LTO with GCC / Clang and to suppress cmake warnings > +# on the unset policy. > > > > + > > > +# Retain 'CMP0069 NEW' behaviour after > > > +# 'cmake_minimum_required(VERSION ...) in subprojects to > > > +# avoid cmake warnings on the unset policy. > > > +set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)