From 1b596b325a309910a02d08b91aba6e592cd010d8 Mon Sep 17 00:00:00 2001 From: Roman Telezhynskyi Date: Fri, 18 Dec 2015 16:46:31 +0200 Subject: [PATCH] On Unix systems create symbolic links instead of copying files. --HG-- branch : develop --- common.pri | 48 ++++++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/common.pri b/common.pri index 4eb46c5b7..7ae533b01 100644 --- a/common.pri +++ b/common.pri @@ -69,20 +69,24 @@ defineTest(copyToDestdir) { message("----------------------------------------------begin------------------------------------------------") message("Copy to" $$DDIR "after link") for(FILE, files) { - - !exists($$DDIR/$$basename(FILE)) { - # Replace slashes in paths with backslashes for Windows - win32{ - FILE ~= s,/,\\,g - DDIR ~= s,/,\\,g - } - QMAKE_POST_LINK += $$VCOPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) - message("Command:" $$VCOPY $$quote($$FILE) $$quote($$DDIR)) + unix{ + QMAKE_POST_LINK += ln -s -f $$quote($$FILE) $$quote($$DDIR/$$basename(FILE)) $$escape_expand(\\n\\t) + message("Command:" ln -s -f $$quote($$FILE) $$quote($$DDIR/$$basename(FILE))) } else { - message("File:" $$DDIR/$$basename(FILE) "already exist") - } + !exists($$DDIR/$$basename(FILE)) { + # Replace slashes in paths with backslashes for Windows + win32{ + FILE ~= s,/,\\,g + DDIR ~= s,/,\\,g + } + QMAKE_POST_LINK += $$VCOPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) + message("Command:" $$VCOPY $$quote($$FILE) $$quote($$DDIR)) + } else { + message("File:" $$DDIR/$$basename(FILE) "already exist") + } - QMAKE_CLEAN += $$DDIR/$$basename(FILE) + QMAKE_CLEAN += $$DDIR/$$basename(FILE) + } } export(QMAKE_POST_LINK) @@ -99,15 +103,19 @@ defineTest(forceCopyToDestdir) { message("----------------------------------------------begin------------------------------------------------") message("Copy to" $$DDIR "after link") for(FILE, files) { - - # Replace slashes in paths with backslashes for Windows - win32{ - FILE ~= s,/,\\,g - DDIR ~= s,/,\\,g + unix{ + QMAKE_POST_LINK += ln -s -f $$quote($$FILE) $$quote($$DDIR/$$basename(FILE)) $$escape_expand(\\n\\t) + message("Command:" ln -s -f $$quote($$FILE) $$quote($$DDIR/$$basename(FILE))) + } else { + # Replace slashes in paths with backslashes for Windows + win32{ + FILE ~= s,/,\\,g + DDIR ~= s,/,\\,g + } + QMAKE_POST_LINK += $$VCOPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) + message("Command:" $$VCOPY $$quote($$FILE) $$quote($$DDIR)) + QMAKE_CLEAN += $$DDIR/$$basename(FILE) } - QMAKE_POST_LINK += $$VCOPY $$quote($$FILE) $$quote($$DDIR) $$escape_expand(\\n\\t) - message("Command:" $$VCOPY $$quote($$FILE) $$quote($$DDIR)) - QMAKE_CLEAN += $$DDIR/$$basename(FILE) } export(QMAKE_POST_LINK)