Fix installation of separate debug info
Since quoting was fixed, separate debug info has no longer installed correctly because it relied on executing shell commands in the target name. This cleans up the generation and installation of separate debug info by using resolve_target.prf. Change-Id: I3ee47c0e4dc3de600c42f56b17315a69925c4724 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
This commit is contained in:
parent
5585d66ff0
commit
26e538b6db
@ -9,19 +9,21 @@ have_target:!static:!isEmpty(QMAKE_OBJCOPY) {
|
||||
debug_info_keep = --only-keep-debug
|
||||
debug_info_strip = --strip-debug
|
||||
}
|
||||
QMAKE_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; targ=`basename $(TARGET)`; $$QMAKE_OBJCOPY $$debug_info_keep \"\$\$targ\" \"\$\$targ.$$debug_info_suffix\" && $$QMAKE_OBJCOPY $$debug_info_strip \"\$\$targ\" && $$QMAKE_OBJCOPY --add-gnu-debuglink=\"\$\$targ.$$debug_info_suffix\" \"\$\$targ\" && chmod -x \"\$\$targ.$$debug_info_suffix\"
|
||||
QMAKE_INSTALL_SEPARATE_DEBUG_INFO = test -z \"$(DESTDIR)\" || cd \"$(DESTDIR)\" ; $(INSTALL_FILE) `basename $(TARGET)`.$$debug_info_suffix $(INSTALL_ROOT)/\$\$target_path/
|
||||
load(resolve_target)
|
||||
QMAKE_TARGET_DEBUG_INFO = $${QMAKE_RESOLVED_TARGET}.$$debug_info_suffix
|
||||
|
||||
shell_target = $$shell_quote($$relative_path($$QMAKE_RESOLVED_TARGET, $$OUT_PWD))
|
||||
shell_target_debug_info = $$shell_quote($$relative_path($$QMAKE_TARGET_DEBUG_INFO, $$OUT_PWD))
|
||||
copy_debug_info = $$QMAKE_OBJCOPY $$debug_info_keep $$shell_target $$shell_target_debug_info
|
||||
strip_debug_info = $$QMAKE_OBJCOPY $$debug_info_strip $$shell_target
|
||||
link_debug_info = $$QMAKE_OBJCOPY --add-gnu-debuglink=$$shell_target_debug_info $$shell_target
|
||||
chmod_debug_info = chmod -x $$shell_target_debug_info
|
||||
|
||||
!isEmpty(QMAKE_POST_LINK):QMAKE_POST_LINK = $$escape_expand(\\n\\t)$$QMAKE_POST_LINK
|
||||
QMAKE_POST_LINK = $$QMAKE_SEPARATE_DEBUG_INFO $$QMAKE_POST_LINK
|
||||
QMAKE_POST_LINK = $$copy_debug_info $$escape_expand(\\n\\t)$$strip_debug_info $$escape_expand(\\n\\t)$$link_debug_info $$escape_expand(\\n\\t)$$chmod_debug_info $$QMAKE_POST_LINK
|
||||
silent:QMAKE_POST_LINK = @echo creating $@.$$debug_info_suffix && $$QMAKE_POST_LINK
|
||||
|
||||
isEmpty(DESTDIR) {
|
||||
target.targets += "`basename $(TARGET)`.$$debug_info_suffix"
|
||||
QMAKE_DISTCLEAN += "`basename $(TARGET)`.$$debug_info_suffix"
|
||||
} else {
|
||||
target.targets += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix"
|
||||
QMAKE_DISTCLEAN += "$(DESTDIR)/`basename $(TARGET)`.$$debug_info_suffix"
|
||||
}
|
||||
target.targets += $$QMAKE_TARGET_DEBUG_INFO
|
||||
QMAKE_DISTCLEAN += $$QMAKE_TARGET_DEBUG_INFO
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user