CMake: Use -ffat-lto-objects for static libraries with ltcg and GCC
CMake <= 3.19 adds the '-fno-fat-lto-objects' compiler flag unconditionally when CMAKE_INTERPROCEDURAL_OPTIMIZATION is enabled. This is fine for shared libraries but static ones need the opposite compiler flag. Task-number: QTBUG-89426 Change-Id: Ie5f48178803a270f6d94408f7a8e85d379eb123c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 9563be2870b85309e163db950fefcb9200cac6f4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
59785478c3
commit
4bbff3fa21
@ -82,6 +82,14 @@ function(qt_internal_add_module target)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(FEATURE_ltcg 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.
|
||||
# (https://gitlab.kitware.com/cmake/cmake/-/issues/21696)
|
||||
target_compile_options(${target} PRIVATE -ffat-lto-objects)
|
||||
endif()
|
||||
|
||||
if (ANDROID)
|
||||
qt_android_apply_arch_suffix("${target}")
|
||||
endif()
|
||||
|
Loading…
x
Reference in New Issue
Block a user