aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@theqtcompany.com>2016-03-23 13:31:04 +0100
committerEike Ziller <eike.ziller@theqtcompany.com>2016-04-12 12:30:33 +0000
commit2a3e342740bd09099198890072296ef3be221ec1 (patch)
treed2763873e79593c6d8a893d42d64695d8dd0c029
parent3a7ce3f5be9af510634ae018e27d3b1a2970063a (diff)
Remove code duplication for copying resources.
qtcreatordata.pri was created for "conditional" copying of resources to the build tree. Adapt it a bit and use it for the "unconditionally" copied resources as well. A side effect is, that the unconditionally copied resources now are also installed file by file instead of the directory as a whole, which doesn't make a difference in the end result though. Change-Id: I6da3eeaadcb48c19987858bbb8c2d42ee149f6f3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
-rw-r--r--qtcreatordata.pri20
-rw-r--r--share/qtcreator/static.pro51
-rw-r--r--src/share/README2
-rw-r--r--src/share/qtcreator/data.pro22
-rw-r--r--src/src.pro3
5 files changed, 40 insertions, 58 deletions
diff --git a/qtcreatordata.pri b/qtcreatordata.pri
index 27a21263f1..75251ccf0b 100644
--- a/qtcreatordata.pri
+++ b/qtcreatordata.pri
@@ -4,24 +4,28 @@
#
# Usage: Define variables (details below) and include this pri file afterwards.
#
-# STATIC_BASE - base directory for the files listed in STATIC_FILES
-# STATIC_FILES - list of files to be deployed
-
-include(qtcreator.pri)
+# STATIC_BASE - base directory for the files listed in STATIC_FILES
+# STATIC_FILES - list of files to be deployed
+# STATIC_OUTPUT_BASE - base directory in the compile output
+# STATIC_INSTALL_BASE - base directory in the install output
# used in custom compilers which just copy files
defineReplace(stripStaticBase) {
return($$relative_path($$1, $$STATIC_BASE))
}
-# handle conditional copying; copydata will be set by qtcreator.pri
+# handle conditional copying based on STATIC_BASE compared to STATIC_OUTPUT_BASE
!isEmpty(STATIC_FILES) {
isEmpty(STATIC_BASE): \
error("Using STATIC_FILES without having STATIC_BASE set")
+ isEmpty(STATIC_OUTPUT_BASE): \
+ error("Using STATIC_FILES without having STATIC_OUTPUT_BASE set")
+ !osx:isEmpty(STATIC_INSTALL_BASE): \
+ error("Using STATIC_FILES without having STATIC_INSTALL_BASE set")
- !isEmpty(copydata) {
+ !isEqual(STATIC_BASE, $$STATIC_OUTPUT_BASE) {
copy2build.input += STATIC_FILES
- copy2build.output = $$IDE_DATA_PATH/${QMAKE_FUNC_FILE_IN_stripStaticBase}
+ copy2build.output = $$STATIC_OUTPUT_BASE/${QMAKE_FUNC_FILE_IN_stripStaticBase}
isEmpty(vcproj):copy2build.variable_out = PRE_TARGETDEPS
win32:copy2build.commands = $$QMAKE_COPY \"${QMAKE_FILE_IN}\" \"${QMAKE_FILE_OUT}\"
unix:copy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
@@ -33,7 +37,7 @@ defineReplace(stripStaticBase) {
!osx {
static.files = $$STATIC_FILES
static.base = $$STATIC_BASE
- static.path = $$INSTALL_DATA_PATH
+ static.path = $$STATIC_INSTALL_BASE
INSTALLS += static
}
}
diff --git a/share/qtcreator/static.pro b/share/qtcreator/static.pro
index ec7a5a9839..9b3b102b9e 100644
--- a/share/qtcreator/static.pro
+++ b/share/qtcreator/static.pro
@@ -1,8 +1,11 @@
TEMPLATE = aux
+include(../../qtcreator.pri)
+
STATIC_BASE = $$PWD
+STATIC_OUTPUT_BASE = $$IDE_DATA_PATH
+STATIC_INSTALL_BASE = $$INSTALL_DATA_PATH
-# files/folders that are conditionally "deployed" to the build directory
DATA_DIRS = \
welcomescreen \
examplebrowser \
@@ -32,49 +35,3 @@ for(data_dir, DATA_DIRS) {
}
include(../../qtcreatordata.pri)
-
-SRCRESOURCEDIR = $$IDE_SOURCE_TREE/src/share/qtcreator/
-defineReplace(stripSrcResourceDir) {
- win32 {
- !contains(1, ^.:.*):1 = $$OUT_PWD/$$1
- } else {
- !contains(1, ^/.*):1 = $$OUT_PWD/$$1
- }
- out = $$clean_path($$1)
- out ~= s|^$$re_escape($$SRCRESOURCEDIR)||$$i_flag
- return($$out)
-}
-
-# files that are to be unconditionally "deployed" to the build dir from src/share to share
-DATA_DIRS = \
- externaltools
-DATA_FILES_SRC = \
- externaltools/lrelease.xml \
- externaltools/lupdate.xml \
- externaltools/sort.xml \
- externaltools/qmlviewer.xml \
- externaltools/qmlscene.xml
-unix {
- macx:DATA_FILES_SRC += externaltools/vi_mac.xml
- else:DATA_FILES_SRC += externaltools/vi.xml
-} else {
- DATA_FILES_SRC += externaltools/notepad_win.xml
-}
-for(file, DATA_FILES_SRC):DATA_FILES += $${SRCRESOURCEDIR}$$file
-unconditionalCopy2build.input = DATA_FILES
-unconditionalCopy2build.output = $$IDE_DATA_PATH/${QMAKE_FUNC_FILE_IN_stripSrcResourceDir}
-isEmpty(vcproj):unconditionalCopy2build.variable_out = PRE_TARGETDEPS
-win32:unconditionalCopy2build.commands = $$QMAKE_COPY \"${QMAKE_FILE_IN}\" \"${QMAKE_FILE_OUT}\"
-unix:unconditionalCopy2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
-unconditionalCopy2build.name = COPY ${QMAKE_FILE_IN}
-unconditionalCopy2build.CONFIG += no_link
-QMAKE_EXTRA_COMPILERS += unconditionalCopy2build
-
-!macx {
- for(data_dir, DATA_DIRS) {
- $${data_dir}.files = $$IDE_DATA_PATH/$$data_dir
- $${data_dir}.path = $$INSTALL_DATA_PATH
- $${data_dir}.CONFIG += no_check_exist
- INSTALLS += $$data_dir
- }
-}
diff --git a/src/share/README b/src/share/README
deleted file mode 100644
index 6b930079d4..0000000000
--- a/src/share/README
+++ /dev/null
@@ -1,2 +0,0 @@
-This directory contains *only* data files which are installed conditionally.
-The installation code is in ../../share/qtcreator/static.pro
diff --git a/src/share/qtcreator/data.pro b/src/share/qtcreator/data.pro
new file mode 100644
index 0000000000..5ae7d1d269
--- /dev/null
+++ b/src/share/qtcreator/data.pro
@@ -0,0 +1,22 @@
+TEMPLATE = aux
+
+include(../../../qtcreator.pri)
+
+STATIC_BASE = $$PWD
+STATIC_OUTPUT_BASE = $$IDE_DATA_PATH
+STATIC_INSTALL_BASE = $$INSTALL_DATA_PATH
+
+STATIC_FILES = \
+ $$PWD/externaltools/lrelease.xml \
+ $$PWD/externaltools/lupdate.xml \
+ $$PWD/externaltools/sort.xml \
+ $$PWD/externaltools/qmlviewer.xml \
+ $$PWD/externaltools/qmlscene.xml
+unix {
+ osx:STATIC_FILES += $$PWD/externaltools/vi_mac.xml
+ else:STATIC_FILES += $$PWD/externaltools/vi.xml
+} else {
+ STATIC_FILES += $$PWD/externaltools/notepad_win.xml
+}
+
+include(../../../qtcreatordata.pri)
diff --git a/src/src.pro b/src/src.pro
index ee25d3dbc5..0cbba619fd 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -31,4 +31,5 @@ SUBDIRS += \
libs \
app \
plugins \
- tools
+ tools \
+ share/qtcreator/data.pro