CMake: Make LTO build work
We don't need to check FEATURE_ltcg, just add -fno-lto unconditionally. That makes QtCore compile with -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON. Change-Id: Icb2516126f674e7b8bb3fffd16ada2c71d7334aa Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
a45bc2d123
commit
dcb281af7d
@ -195,7 +195,7 @@ function(qt_internal_add_module target)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(FEATURE_ltcg AND GCC AND is_static_lib)
|
||||
if((FEATURE_ltcg OR CMAKE_INTERPROCEDURAL_OPTIMIZATION) AND GCC AND is_static_lib)
|
||||
# CMake <= 3.19 appends -fno-fat-lto-objects for all library types if
|
||||
# CMAKE_INTERPROCEDURAL_OPTIMIZATION is enabled. Static libraries need
|
||||
# the opposite compiler option.
|
||||
|
@ -605,7 +605,7 @@ target_sources(Core PRIVATE ${core_version_tagging_files})
|
||||
|
||||
# Disable LTO, as the symbols disappear somehow under GCC
|
||||
# (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48200)
|
||||
if(GCC AND FEATURE_ltcg)
|
||||
if(GCC)
|
||||
set_source_files_properties(${core_version_tagging_files}
|
||||
PROPERTIES COMPILE_OPTIONS "-fno-lto")
|
||||
endif()
|
||||
|
@ -102,7 +102,6 @@ make_versioned_symbol(SYM, QT_VERSION_MAJOR, 14, "@");
|
||||
make_versioned_symbol(SYM, QT_VERSION_MAJOR, 15, "@");
|
||||
#endif
|
||||
#if QT_VERSION_MINOR > 16
|
||||
// We don't expect there will be a Qt 5.17
|
||||
# error "Please update this file with more Qt versions."
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user