Successor to that old MoltenVK PR. Does a lot of cleanups within root CMakeLists.txt, hands over MoltenVK and VulkanValidationLayers to CPMUtil, and separates out common operations into my modules. Hopefully reduces the monstrosity that is root CMakeLists.txt. Please test: - builds on all platforms - VulkanValidationLayers Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3126 Reviewed-by: Lizzie <lizzie@eden-emu.dev> Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
18 lines
497 B
CMake
18 lines
497 B
CMake
# SPDX-FileCopyrightText: Copyright 2025 crueter
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
## UseLTO ##
|
|
|
|
# Enable Interprocedural Optimization (IPO).
|
|
# Self-explanatory.
|
|
|
|
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).")
|
|
endif()
|
|
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ${COMPILER_SUPPORTS_LTO})
|