diff options
author | Damjan Marion <damarion@cisco.com> | 2020-10-22 14:23:47 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2020-11-05 20:51:03 +0000 |
commit | af7892c08b2d4984f4c93bb8c7cc07aec36b5055 (patch) | |
tree | 2d09c5297cc8b1e38f3ec7a755054e88957ec9e0 /src/CMakeLists.txt | |
parent | 066cd812374460e5ca8be9a88f494fe3f5bf911e (diff) |
build: link time optimization for release builds
Type: improvement
Change-Id: I0e24f1d2ad5c7a11a8bd40125428f86aca867bec
Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r-- | src/CMakeLists.txt | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0d971fd8ebc..6fc243ca4d2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -11,13 +11,14 @@ # See the License for the specific language governing permissions and # limitations under the License. -cmake_minimum_required(VERSION 3.5 FATAL_ERROR) +cmake_minimum_required(VERSION 3.10) set(CMAKE_C_COMPILER_NAMES clang-11 clang-10 clang-9 gcc-10 gcc-9 cc) project(vpp C) include(CheckCCompilerFlag) +include(CheckIPOSupported) include(cmake/misc.cmake) include(cmake/cpu.cmake) include(cmake/ccache.cmake) @@ -106,6 +107,16 @@ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY HELPSTRING "Build type - valid options are: ${BUILD_TYPES}") ############################################################################## +# link time optimizations +############################################################################## +if (CMAKE_BUILD_TYPE_UC STREQUAL "RELEASE") + check_ipo_supported(RESULT _result) + if (_result) + option(VPP_USE_LTO "Link time optimization of release binaries" ON) + endif() +endif() + +############################################################################## # sanitizers ############################################################################## |