You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
653 B
21 lines
653 B
# SPDX-FileCopyrightText: Copyright 2025 crueter
|
|
# SPDX-License-Identifier: LGPL-3.0-or-later
|
|
|
|
## UseLTO ##
|
|
|
|
# Enable Interprocedural Optimization (IPO).
|
|
# Self-explanatory.
|
|
|
|
option(ENABLE_LTO "Enable Link-Time Optimization (LTO)" OFF)
|
|
|
|
if (ENABLE_LTO)
|
|
include(CheckIPOSupported)
|
|
check_ipo_supported(RESULT COMPILER_SUPPORTS_LTO)
|
|
if(NOT COMPILER_SUPPORTS_LTO)
|
|
message(FATAL_ERROR
|
|
"Your compiler does not support interprocedural optimization"
|
|
" (IPO). Disable ENABLE_LTO and try again.")
|
|
endif()
|
|
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ${COMPILER_SUPPORTS_LTO})
|
|
endif()
|