diff --git a/.gitignore b/.gitignore index 85a6baa..3f9bcc5 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,7 @@ moc_*.cpp qrc_*.cpp ui_*.h +*.qm Makefile* *-build-* diff --git a/general.pri b/general.pri index 9156999..9f790b4 100644 --- a/general.pri +++ b/general.pri @@ -12,7 +12,17 @@ unix { QMAKE_LFLAGS += "-Wl,--rpath=./" } # prefix -targetprefix = . +targetprefix = $$(TARGET_PREFIX) +equals(targetprefix, "") { + win32 { + targetprefix = ../../.. + } else { + targetprefix = ../.. + } +} +message("Using target prefix \"$${targetprefix}\".") +# print install root +message("Using install root \"$$(INSTALL_ROOT)\".") # target CONFIG(debug, debug|release) { TARGET = $$targetprefix/$${projectname}d diff --git a/pkgbuild/default/PKGBUILD b/pkgbuild/default/PKGBUILD index b142d36..2ddea78 100644 --- a/pkgbuild/default/PKGBUILD +++ b/pkgbuild/default/PKGBUILD @@ -17,7 +17,7 @@ sha256sums=('3f928ba196940cc539d0af752b69339a') build() { cd "$srcdir/${PROJECT_DIR_NAME:-$_reponame-$pkgver}" INSTALL_ROOT=$pkgdir/usr/ qmake-qt5 "$pkgname.pro" -r -spec linux-g++ - make && make updateqm + make } package() { diff --git a/tageditor.pro b/tageditor.pro index 6db4425..ce7f55f 100644 --- a/tageditor.pro +++ b/tageditor.pro @@ -93,10 +93,7 @@ RESOURCES += resources/icons.qrc \ TRANSLATIONS = translations/tageditor_en_US.ts \ translations/tageditor_de_DE.ts - -updateqm.commands = lrelease $${projectname}.pro -updateqm.target = updateqm -QMAKE_EXTRA_TARGETS += updateqm +include(translations.pri) OTHER_FILES += \ README.md \ @@ -126,11 +123,11 @@ win32 { target.path = $$(INSTALL_ROOT)/bin INSTALLS += target icon.path = $$(INSTALL_ROOT)/share/icons/hicolor/scalable/apps/ -icon.files = ./resources/icons/hicolor/scalable/apps/$${projectname}.svg +icon.files = $${PWD}/resources/icons/hicolor/scalable/apps/$${projectname}.svg INSTALLS += icon menu.path = $$(INSTALL_ROOT)/share/applications/ -menu.files = ./resources/desktop/applications/$${projectname}.desktop +menu.files = $${PWD}/resources/desktop/applications/$${projectname}.desktop INSTALLS += menu translations.path = $$(INSTALL_ROOT)/share/$${projectname}/translations/ -translations.files = ./translations/*.qm +translations.files = $${OUT_PWD}/translations/*.qm INSTALLS += translations diff --git a/translations.pri b/translations.pri new file mode 100644 index 0000000..d19ca01 --- /dev/null +++ b/translations.pri @@ -0,0 +1,15 @@ +!isEmpty(TRANSLATIONS) { + isEmpty(QMAKE_LRELEASE) { + win32:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]\lrelease.exe + else:QMAKE_LRELEASE = $$[QT_INSTALL_BINS]/lrelease + } + isEmpty(TS_DIR):TS_DIR = translations + genqm.name = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm $${OUT_PWD}/$$TS_DIR/${QMAKE_FILE_BASE}.qm + genqm.input = TRANSLATIONS + genqm.output = $${OUT_PWD}/$$TS_DIR/${QMAKE_FILE_BASE}.qm + genqm.commands = $$QMAKE_LRELEASE ${QMAKE_FILE_IN} -qm $${OUT_PWD}/$$TS_DIR/${QMAKE_FILE_BASE}.qm + genqm.CONFIG = no_link + QMAKE_EXTRA_COMPILERS += genqm + PRE_TARGETDEPS += compiler_genqm_make_all + message("Project contains translations. Use updateqm to compile translations.") +}