From 53e65e8e0a91f7b83e2f0f27781e75c2868a321d Mon Sep 17 00:00:00 2001 From: Brad King <brad.king@kitware.com> Date: Thu, 25 Oct 2018 11:47:48 -0400 Subject: curl: Do not call cmake_minimum_required inside CMake itself Re-use the requirements from the top-level. --- Utilities/cmcurl/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt index 636530e..f38b7d4 100644 --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt @@ -123,7 +123,6 @@ endif() # To check: # (From Daniel Stenberg) The cmake build selected to run gcc with -fPIC on my box while the plain configure script did not. # (From Daniel Stenberg) The gcc command line use neither -g nor any -O options. As a developer, I also treasure our configure scripts's --enable-debug option that sets a long range of "picky" compiler options. -cmake_minimum_required(VERSION 3.0 FATAL_ERROR) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}") include(Utilities) include(Macros) -- cgit v0.12 From 786dddc0fd0439b7f7ba1f062d60720f16627856 Mon Sep 17 00:00:00 2001 From: Cristian Adam <cristian.adam@gmail.com> Date: Fri, 19 Oct 2018 14:53:32 +0200 Subject: Add option to build CMake itself with IPO/LTO Create a `CMake_BUILD_LTO` option when building with a CMake that is new enough to support `CheckIPOSupported` everywhere. --- CMakeLists.txt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index e94503c..756e379 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,18 @@ option(CMake_BUILD_DEVELOPER_REFERENCE "Build CMake Developer Reference" OFF) mark_as_advanced(CMake_BUILD_DEVELOPER_REFERENCE) +# option to build using interprocedural optimizations (IPO/LTO) +if (NOT CMAKE_VERSION VERSION_LESS 3.12.2) + option(CMake_BUILD_LTO "Compile CMake with link-time optimization if supported" OFF) + if(CMake_BUILD_LTO) + include(CheckIPOSupported) + check_ipo_supported(RESULT HAVE_IPO) + if(HAVE_IPO) + set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE) + endif() + endif() +endif() + #----------------------------------------------------------------------- # a macro to deal with system libraries, implemented as a macro # simply to improve readability of the main script -- cgit v0.12