diff options
author | Alessandro Portale <alessandro.portale@nokia.com> | 2010-12-08 16:07:09 +0100 |
---|---|---|
committer | con <qtc-committer@nokia.com> | 2010-12-08 16:13:41 +0100 |
commit | 274af0f2f9c689e8bd0bb6abba77bdf7b09ac5f6 (patch) | |
tree | 1eef952f1ff361cc0f93bec53dae07b57d1df3a7 | |
parent | 0ce4d0689d080e612589636e35806aa6887cb30b (diff) | |
download | qt-creator-274af0f2f9c689e8bd0bb6abba77bdf7b09ac5f6.tar.gz |
Fixing several issues in folder deployment
- Also copying paths when doing in-source build,
and not copying paths if source and target differ
- Quote paths in order to support white spaces
- Tolerate forward slashes as input paths
Task-Number: QTCREATORBUG-3203
Reviewed-By: ck
Merge-request: 226
-rw-r--r-- | share/qtcreator/templates/shared/deployment.pri | 51 |
1 files changed, 33 insertions, 18 deletions
diff --git a/share/qtcreator/templates/shared/deployment.pri b/share/qtcreator/templates/shared/deployment.pri index f57225e3db..a1760b5b98 100644 --- a/share/qtcreator/templates/shared/deployment.pri +++ b/share/qtcreator/templates/shared/deployment.pri @@ -24,14 +24,20 @@ symbian { contains(DEFINES, ORIENTATIONLOCK):LIBS += -lavkon -leikcore -lcone contains(DEFINES, NETWORKACCESS):TARGET.CAPABILITY += NetworkServices } else:win32 { - !isEqual(PWD,$$OUT_PWD) { - copyCommand = @echo Copying application data... - for(deploymentfolder, DEPLOYMENTFOLDERS) { - source = $$eval($${deploymentfolder}.source) - pathSegments = $$split(source, /) - sourceAndTarget = $$MAINPROFILEPWD/$$source $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(pathSegments) - copyCommand += && $(COPY_DIR) $$replace(sourceAndTarget, /, \\) + copyCommand = + for(deploymentfolder, DEPLOYMENTFOLDERS) { + source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) + source = $$replace(source, /, \\) + sourcePathSegments = $$split(source, \\) + target = $$OUT_PWD/$$eval($${deploymentfolder}.target)/$$last(sourcePathSegments) + target = $$replace(target, /, \\) + !isEqual(source,$$target) { + !isEmpty(copyCommand):copyCommand += && + copyCommand += $(COPY_DIR) \"$$source\" \"$$target\" } + } + !isEmpty(copyCommand) { + copyCommand = @echo Copying application data... && $$copyCommand copydeploymentfolders.commands = $$copyCommand first.depends = $(first) copydeploymentfolders export(first.depends) @@ -41,21 +47,30 @@ symbian { } else:unix { maemo5 { installPrefix = /opt/usr - desktopfile.path = /usr/share/applications/hildon + desktopfile.path = /usr/share/applications/hildon } else { installPrefix = /usr/local desktopfile.path = /usr/share/applications - !isEqual(PWD,$$OUT_PWD) { - copyCommand = @echo Copying application data... - for(deploymentfolder, DEPLOYMENTFOLDERS) { - macx { - target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target) - } else { - target = $$OUT_PWD/$$eval($${deploymentfolder}.target) - } - copyCommand += && $(MKDIR) $$target - copyCommand += && $(COPY_DIR) $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) $$target + copyCommand = + for(deploymentfolder, DEPLOYMENTFOLDERS) { + source = $$MAINPROFILEPWD/$$eval($${deploymentfolder}.source) + source = $$replace(source, \\, /) + macx { + target = $$OUT_PWD/$${TARGET}.app/Contents/Resources/$$eval($${deploymentfolder}.target) + } else { + target = $$OUT_PWD/$$eval($${deploymentfolder}.target) + } + target = $$replace(target, \\, /) + sourcePathSegments = $$split(source, /) + targetFullPath = $$target/$$last(sourcePathSegments) + !isEqual(source,$$targetFullPath) { + !isEmpty(copyCommand):copyCommand += && + copyCommand += $(MKDIR) \"$$target\" + copyCommand += && $(COPY_DIR) \"$$source\" \"$$target\" } + } + !isEmpty(copyCommand) { + copyCommand = @echo Copying application data... && $$copyCommand copydeploymentfolders.commands = $$copyCommand first.depends = $(first) copydeploymentfolders export(first.depends) |