Added support of IPO optimizations.
Signed-off-by: Vitaly Zaitsev <vitaly@easycoding.org>
This commit is contained in:
parent
94bdb64c38
commit
b944efa1f3
2 changed files with 11 additions and 5 deletions
|
|
@ -41,7 +41,7 @@ function(init_target target_name) # init_target(my_target folder_name)
|
||||||
XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL $<IF:$<CONFIG:Debug>,0,fast>
|
XCODE_ATTRIBUTE_GCC_OPTIMIZATION_LEVEL $<IF:$<CONFIG:Debug>,0,fast>
|
||||||
XCODE_ATTRIBUTE_LLVM_LTO $<IF:$<CONFIG:Debug>,NO,YES>
|
XCODE_ATTRIBUTE_LLVM_LTO $<IF:$<CONFIG:Debug>,NO,YES>
|
||||||
)
|
)
|
||||||
if (WIN32)
|
if (WIN32 OR DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS)
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
INTERPROCEDURAL_OPTIMIZATION_RELEASE True
|
INTERPROCEDURAL_OPTIMIZATION_RELEASE True
|
||||||
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO True
|
INTERPROCEDURAL_OPTIMIZATION_RELWITHDEBINFO True
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,12 @@ option(DESKTOP_APP_DISABLE_CRASH_REPORTS "Disable crash report generation." ${DE
|
||||||
option(DESKTOP_APP_USE_PACKAGED_RLOTTIE "Find rlottie using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED})
|
option(DESKTOP_APP_USE_PACKAGED_RLOTTIE "Find rlottie using CMake instead of bundled one." ${DESKTOP_APP_USE_PACKAGED})
|
||||||
option(DESKTOP_APP_USE_PACKAGED_FONTS "Use preinstalled fonts instead of bundled one." ${DESKTOP_APP_USE_PACKAGED})
|
option(DESKTOP_APP_USE_PACKAGED_FONTS "Use preinstalled fonts instead of bundled one." ${DESKTOP_APP_USE_PACKAGED})
|
||||||
|
|
||||||
|
option(DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS "Enable IPO build optimizations." OFF)
|
||||||
|
if (DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS AND CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||||
|
message(WARNING "Clang cannot build Qt applications with IPO enabled due to upstream bug: https://bugreports.qt.io/browse/QTBUG-61710.")
|
||||||
|
set(DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS OFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (DESKTOP_APP_SPECIAL_TARGET STREQUAL ""
|
if (DESKTOP_APP_SPECIAL_TARGET STREQUAL ""
|
||||||
OR DESKTOP_APP_SPECIAL_TARGET STREQUAL "uwp"
|
OR DESKTOP_APP_SPECIAL_TARGET STREQUAL "uwp"
|
||||||
OR DESKTOP_APP_SPECIAL_TARGET STREQUAL "macstore")
|
OR DESKTOP_APP_SPECIAL_TARGET STREQUAL "macstore")
|
||||||
|
|
@ -59,10 +65,10 @@ else()
|
||||||
report_bad_special_target()
|
report_bad_special_target()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if (NOT DESKTOP_APP_USE_PACKAGED)
|
if (NOT DESKTOP_APP_USE_PACKAGED OR DESKTOP_APP_ENABLE_IPO_OPTIMIZATIONS)
|
||||||
set(CMAKE_AR /usr/bin/gcc-ar)
|
set(CMAKE_AR "gcc-ar")
|
||||||
set(CMAKE_RANLIB /usr/bin/gcc-ranlib)
|
set(CMAKE_RANLIB "gcc-ranlib")
|
||||||
set(CMAKE_NM /usr/bin/gcc-nm)
|
set(CMAKE_NM "gcc-nm")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue