Check for IPO

This commit is contained in:
redtide 2019-11-26 13:43:07 +01:00
parent a39b05fe42
commit 4d139137cc
2 changed files with 17 additions and 0 deletions

View file

@ -18,6 +18,9 @@ option (SFIZZ_BENCHMARKS "Enable benchmarks build [default: OFF]" OFF)
option (SFIZZ_TESTS "Enable tests build [default: OFF]" OFF)
option (SFIZZ_SHARED "Enable shared library build [default: ON]" ON)
# Don't use IPO in non Release builds
include (CheckIPO)
# Add Abseil
add_subdirectory (external/abseil-cpp EXCLUDE_FROM_ALL)

14
cmake/CheckIPO.cmake Normal file
View file

@ -0,0 +1,14 @@
# Added in CMake 3.9
include (CheckIPOSupported)
check_ipo_supported (RESULT result OUTPUT output)
if (result AND ENABLE_LTO AND ${CMAKE_BUILD_TYPE} MATCHES Release)
message (STATUS "\nLTO enabled.")
else()
if (${output})
message (WARNING "\nIPO disabled: ${output}")
else()
message (WARNING "\nIPO was disabled, not in a Release build?")
endif()
set (ENABLE_LTO OFF)
endif()