From 337e56d9bfe76ca77ab849f64c018cc28d11c8a1 Mon Sep 17 00:00:00 2001 From: Erik Frojdh Date: Thu, 23 Apr 2020 08:23:36 +0200 Subject: [PATCH] cleaned up LTO detection --- CMakeLists.txt | 5 +++++ slsDetectorSoftware/CMakeLists.txt | 5 ++--- slsReceiverSoftware/CMakeLists.txt | 4 ++-- slsSupportLib/CMakeLists.txt | 6 ++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 917ea805d..682c046bf 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,6 +46,11 @@ option(SLS_BUILD_DOCS "docs" OFF) option(SLS_BUILD_EXAMPLES "examples" OFF) option(SLS_TUNE_LOCAL "tune to local machine" OFF) + +#Enable LTO if available +check_ipo_supported(RESULT SLS_LTO_AVAILABLE) + + # Use ld.gold if it is available and isn't disabled explicitly option(SLS_USE_LD_GOLD "Use GNU gold linker" ON) if (SLS_USE_LD_GOLD) diff --git a/slsDetectorSoftware/CMakeLists.txt b/slsDetectorSoftware/CMakeLists.txt index 003365f82..568c64a14 100755 --- a/slsDetectorSoftware/CMakeLists.txt +++ b/slsDetectorSoftware/CMakeLists.txt @@ -15,9 +15,8 @@ add_library(slsDetectorShared SHARED ${HEADERS} ) -# Do we have link time optimization? -check_ipo_supported(RESULT LTO_AVAILABLE) -if(LTO_AVAILABLE) + +if(SLS_LTO_AVAILABLE) set_property(TARGET slsDetectorShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True) endif() diff --git a/slsReceiverSoftware/CMakeLists.txt b/slsReceiverSoftware/CMakeLists.txt index 9e285f1fe..5e9131484 100755 --- a/slsReceiverSoftware/CMakeLists.txt +++ b/slsReceiverSoftware/CMakeLists.txt @@ -29,8 +29,8 @@ add_library(slsReceiverShared SHARED ${HEADERS} ) -check_ipo_supported(RESULT result) -if(result) + +if(SLS_LTO_AVAILABLE) set_property(TARGET slsReceiverShared PROPERTY INTERPROCEDURAL_OPTIMIZATION True) endif() diff --git a/slsSupportLib/CMakeLists.txt b/slsSupportLib/CMakeLists.txt index 67cc82d19..6e3dee6b4 100755 --- a/slsSupportLib/CMakeLists.txt +++ b/slsSupportLib/CMakeLists.txt @@ -42,11 +42,13 @@ add_library(slsSupportLib SHARED ${HEADERS} ) -check_ipo_supported(RESULT result) -if(result) + +if(SLS_LTO_AVAILABLE) set_property(TARGET slsSupportLib PROPERTY INTERPROCEDURAL_OPTIMIZATION True) endif() + + target_include_directories(slsSupportLib PUBLIC "$" "$"