Add an option to enable LTO
This commit is contained in:
parent
37c59a2d57
commit
7d2037630a
2 changed files with 3 additions and 2 deletions
|
|
@ -36,13 +36,13 @@ function(init_target target_name) # init_target(my_target folder_name)
|
||||||
XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN YES
|
XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN YES
|
||||||
XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES
|
XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN YES
|
||||||
)
|
)
|
||||||
if (DESKTOP_APP_SPECIAL_TARGET)
|
if (DESKTOP_APP_SPECIAL_TARGET OR DESKTOP_APP_WITH_LTO)
|
||||||
set_target_properties(${target_name} PROPERTIES
|
set_target_properties(${target_name} PROPERTIES
|
||||||
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>
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
if (DESKTOP_APP_SPECIAL_TARGET AND WIN32 AND NOT build_win64)
|
if (DESKTOP_APP_WITH_LTO OR (DESKTOP_APP_SPECIAL_TARGET AND WIN32 AND NOT build_win64))
|
||||||
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
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ option(DESKTOP_APP_DISABLE_AUTOUPDATE "Disable autoupdate." ${disable_autoupdate
|
||||||
option(DESKTOP_APP_USE_HUNSPELL_ONLY "Disable system spellchecker and use bundled Hunspell only. (For debugging purposes)" OFF)
|
option(DESKTOP_APP_USE_HUNSPELL_ONLY "Disable system spellchecker and use bundled Hunspell only. (For debugging purposes)" OFF)
|
||||||
option(DESKTOP_APP_USE_ENCHANT "Use Enchant instead of bundled Hunspell. (Linux only)" OFF)
|
option(DESKTOP_APP_USE_ENCHANT "Use Enchant instead of bundled Hunspell. (Linux only)" OFF)
|
||||||
option(DESKTOP_APP_NO_PDB "Disable PDB file generation. (Windows only)" OFF)
|
option(DESKTOP_APP_NO_PDB "Disable PDB file generation. (Windows only)" OFF)
|
||||||
|
option(DESKTOP_APP_WITH_LTO "Forcibly enable link-time optimization." OFF)
|
||||||
|
|
||||||
if (DESKTOP_APP_USE_PACKAGED AND DEFINED CMAKE_OSX_ARCHITECTURES)
|
if (DESKTOP_APP_USE_PACKAGED AND DEFINED CMAKE_OSX_ARCHITECTURES)
|
||||||
set(DESKTOP_APP_MAC_ARCH "${CMAKE_OSX_ARCHITECTURES}" CACHE STRING "Target macOS arch. (macOS only)")
|
set(DESKTOP_APP_MAC_ARCH "${CMAKE_OSX_ARCHITECTURES}" CACHE STRING "Target macOS arch. (macOS only)")
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue