From eddd6920699b605fb91b35427c5815d253e36f5f Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Fri, 19 Mar 2021 17:15:06 +0100 Subject: CMake: Get rid of the Core_versiontagging object library We don't currently handle object libraries when creating prl files for static Qt builds, so it's best to compile files as part of the main Core target. Use source file COMPILE_OPTIONS to add the -fno-lto flag to the global/qversiontagging.cpp source file. Amends 2d4a40f93fd3f0fd31110ef7d19a12fc56c00967 Change-Id: Iac1d37ecb4caa7c9889d44b3a103a9bdafec49f3 Reviewed-by: Christophe Giboudeaux Reviewed-by: Qt CI Bot Reviewed-by: Joerg Bornemann (cherry picked from commit d68486547aaf05994f39786f8527bcb454c6db3f) Reviewed-by: Qt Cherry-pick Bot --- src/corelib/CMakeLists.txt | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 76e4915cc7..00ba3f32f4 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -598,29 +598,16 @@ qt_internal_extend_target(Core CONDITION QT_FEATURE_journald PkgConfig::Libsystemd ) -# special case begin -add_library(Core_versiontagging OBJECT - global/qversiontagging.cpp global/qversiontagging.h -) - -set_target_properties(Core_versiontagging PROPERTIES - COMPILE_OPTIONS $ - COMPILE_DEFINITIONS $ - INCLUDE_DIRECTORIES $ -) +set(core_version_tagging_files global/qversiontagging.cpp global/qversiontagging.h) +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) - target_compile_options(Core_versiontagging PRIVATE "-fno-lto") + set_source_files_properties(${core_version_tagging_files} + PROPERTIES COMPILE_OPTIONS "-fno-lto") endif() -qt_internal_extend_target(Core - SOURCES - $ -) -# special case end - qt_internal_extend_target(Core CONDITION UNIX SOURCES io/qfilesystemengine_unix.cpp -- cgit v1.2.3