diff options
Diffstat (limited to 'src/corelib/global/global.pri')
-rw-r--r-- | src/corelib/global/global.pri | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/corelib/global/global.pri b/src/corelib/global/global.pri index 8ecde5a769..eb8600f796 100644 --- a/src/corelib/global/global.pri +++ b/src/corelib/global/global.pri @@ -27,8 +27,7 @@ SOURCES += \ global/qmalloc.cpp \ global/qnumeric.cpp \ global/qlogging.cpp \ - global/qhooks.cpp \ - global/qversiontagging.cpp + global/qhooks.cpp # qlibraryinfo.cpp includes qconfig.cpp INCLUDEPATH += $$QT_BUILD_TREE/src/corelib/global @@ -59,3 +58,28 @@ journald { syslog { DEFINES += QT_USE_SYSLOG } + +linux|freebsd { + VERSIONTAGGING_SOURCES = global/qversiontagging.cpp + ltcg|clang { + versiontagging_compiler.commands = $$QMAKE_CXX -c $(CXXFLAGS) $(INCPATH) + + # Disable LTO, as the global inline assembly may not get processed + versiontagging_compiler.commands += -fno-lto + + # Disable the integrated assembler for Clang, since it can't parse with + # the alternate macro syntax in use in qversiontagging.cpp + clang: versiontagging_compiler.commands += -no-integrated-as + + versiontagging_compiler.commands += -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} + versiontagging_compiler.dependency_type = TYPE_C + versiontagging_compiler.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$${first(QMAKE_EXT_OBJ)} + versiontagging_compiler.input = VERSIONTAGGING_SOURCES + versiontagging_compiler.variable_out = OBJECTS + versiontagging_compiler.name = compiling[versiontagging] ${QMAKE_FILE_IN} + silent: versiontagging_compiler.commands = @echo compiling[versiontagging] ${QMAKE_FILE_IN} && $$versiontagging_compiler.commands + QMAKE_EXTRA_COMPILERS += versiontagging_compiler + } else { + SOURCES += $$VERSIONTAGGING_SOURCES + } +} |