From a17c3c7ca9a53b31e9ed0c8332031ffc17c1eebe Mon Sep 17 00:00:00 2001 From: levlam Date: Sun, 18 Feb 2018 00:27:57 +0300 Subject: [PATCH] Disable LTO by default. Add CMake option TD_ENABLE_LTO to enable it. GitOrigin-RevId: 53fd2d4573946bfac27c10953874f96b2e8491d1 --- CMakeLists.txt | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 211db32f..34d0d6ac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,14 +16,18 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON) enable_testing() if (POLICY CMP0069) - cmake_policy(SET CMP0069 NEW) - include(CheckIPOSupported) - check_ipo_supported(RESULT IPO_SUPPORTED) - if (IPO_SUPPORTED) - #set_property(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) do not work? - string(REPLACE ";" " " CXX_FLAGS_IPO "${CMAKE_CXX_COMPILE_OPTIONS_IPO}") - message(STATUS "Use link time optimizations: ${CXX_FLAGS_IPO}") - set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CXX_FLAGS_IPO}") + option(TD_ENABLE_LTO "Use \"ON\" to enable Link Time Optimization.") + + if (TD_ENABLE_LTO) + cmake_policy(SET CMP0069 NEW) + include(CheckIPOSupported) + check_ipo_supported(RESULT IPO_SUPPORTED) + if (IPO_SUPPORTED) + #set_property(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) do not work? + string(REPLACE ";" " " CXX_FLAGS_IPO "${CMAKE_CXX_COMPILE_OPTIONS_IPO}") + message(STATUS "Use link time optimizations: ${CXX_FLAGS_IPO}") + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${CXX_FLAGS_IPO}") + endif() endif() endif()