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 2d4a40f93f
Pick-to: 6.1 6.0
Change-Id: Iac1d37ecb4caa7c9889d44b3a103a9bdafec49f3
Reviewed-by: Christophe Giboudeaux <christophe@krop.fr>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
parent
e9e3c09f4b
commit
d68486547a
@ -618,29 +618,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 $<TARGET_PROPERTY:Core,COMPILE_OPTIONS>
|
||||
COMPILE_DEFINITIONS $<TARGET_PROPERTY:Core,COMPILE_DEFINITIONS>
|
||||
INCLUDE_DIRECTORIES $<TARGET_PROPERTY:Core,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
|
||||
$<TARGET_OBJECTS:Core_versiontagging>
|
||||
)
|
||||
# special case end
|
||||
|
||||
qt_internal_extend_target(Core CONDITION UNIX
|
||||
SOURCES
|
||||
io/qfilesystemengine_unix.cpp
|
||||
|
Loading…
Reference in New Issue
Block a user