diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2021-10-13 09:06:55 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2021-10-13 18:29:35 -0700 |
commit | dcb281af7dc1a41813300ea74f1890902f6bf748 (patch) | |
tree | 758a5b67a4b7572c4d0df061e6df6dbd45b2ce56 | |
parent | a45bc2d12319588d27904f8eb8022d4308b43b63 (diff) |
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>
-rw-r--r-- | cmake/QtModuleHelpers.cmake | 2 | ||||
-rw-r--r-- | src/corelib/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/corelib/global/qversiontagging.cpp | 1 |
3 files changed, 2 insertions, 3 deletions
diff --git a/cmake/QtModuleHelpers.cmake b/cmake/QtModuleHelpers.cmake index deb5b001e1..dba0b27e98 100644 --- a/cmake/QtModuleHelpers.cmake +++ b/cmake/QtModuleHelpers.cmake @@ -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. diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 5396ba19b8..680c79ad79 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -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() diff --git a/src/corelib/global/qversiontagging.cpp b/src/corelib/global/qversiontagging.cpp index b5e524bf4c..a0d15ae871 100644 --- a/src/corelib/global/qversiontagging.cpp +++ b/src/corelib/global/qversiontagging.cpp @@ -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 |