diff options
author | Eike Ziller <eike.ziller@theqtcompany.com> | 2016-03-23 13:31:04 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@theqtcompany.com> | 2016-04-12 12:30:33 +0000 |
commit | 2a3e342740bd09099198890072296ef3be221ec1 (patch) | |
tree | d2763873e79593c6d8a893d42d64695d8dd0c029 | |
parent | 3a7ce3f5be9af510634ae018e27d3b1a2970063a (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.pri | 20 | ||||
-rw-r--r-- | share/qtcreator/static.pro | 51 | ||||
-rw-r--r-- | src/share/README | 2 | ||||
-rw-r--r-- | src/share/qtcreator/data.pro | 22 | ||||
-rw-r--r-- | src/src.pro | 3 |
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 |