diff --git a/.hgignore b/.hgignore index ba07b4a0b..3ed1d0901 100644 --- a/.hgignore +++ b/.hgignore @@ -26,6 +26,7 @@ obj/ uic/ rcc/ man/ +build/ # Ignore Coverity Scan Build Tool cov-int/ diff --git a/Valentina.pri b/Valentina.pri index 7d1a0fd8c..b812f44f1 100644 --- a/Valentina.pri +++ b/Valentina.pri @@ -1,3 +1,9 @@ +win32{ + unset(QMAKE_COPY) + # Because "copy" doesn't support files that containe plus sign (+) in name we will use xcopy instead. + QMAKE_COPY = xcopy /y +} + defineTest(minQtVersion) { maj = $$1 min = $$2 diff --git a/dist/win/curl.exe b/dist/win/curl.exe new file mode 100644 index 000000000..4b11744ad Binary files /dev/null and b/dist/win/curl.exe differ diff --git a/dist/win/dbghelp.dll b/dist/win/dbghelp.dll new file mode 100644 index 000000000..947e1ddab Binary files /dev/null and b/dist/win/dbghelp.dll differ diff --git a/dist/win/exchndl.dll b/dist/win/exchndl.dll new file mode 100755 index 000000000..5ba6646eb Binary files /dev/null and b/dist/win/exchndl.dll differ diff --git a/dist/win/mgwhelp.dll b/dist/win/mgwhelp.dll new file mode 100755 index 000000000..ff2d395cc Binary files /dev/null and b/dist/win/mgwhelp.dll differ diff --git a/dist/nsis/headers/fileassoc.nsh b/dist/win/nsis/headers/fileassoc.nsh similarity index 100% rename from dist/nsis/headers/fileassoc.nsh rename to dist/win/nsis/headers/fileassoc.nsh diff --git a/dist/nsis/headers/fileversion.nsh b/dist/win/nsis/headers/fileversion.nsh similarity index 100% rename from dist/nsis/headers/fileversion.nsh rename to dist/win/nsis/headers/fileversion.nsh diff --git a/dist/nsis/valentina.nsi b/dist/win/nsis/valentina.nsi similarity index 100% rename from dist/nsis/valentina.nsi rename to dist/win/nsis/valentina.nsi diff --git a/dist/win/pdftops.exe b/dist/win/pdftops.exe new file mode 100644 index 000000000..6f898b06e Binary files /dev/null and b/dist/win/pdftops.exe differ diff --git a/dist/win/symsrv.dll b/dist/win/symsrv.dll new file mode 100644 index 000000000..87e546766 Binary files /dev/null and b/dist/win/symsrv.dll differ diff --git a/dist/win/symsrv.yes b/dist/win/symsrv.yes new file mode 100644 index 000000000..0519ecba6 --- /dev/null +++ b/dist/win/symsrv.yes @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/dist/win/valentina.ico b/dist/win/valentina.ico new file mode 100644 index 000000000..5f3be666b Binary files /dev/null and b/dist/win/valentina.ico differ diff --git a/src/app/app.pro b/src/app/app.pro index ce97be295..e4336772d 100644 --- a/src/app/app.pro +++ b/src/app/app.pro @@ -355,6 +355,143 @@ unix{ } } +# "make install" command for Windows. +# Depend on nsis script and create installer in folder "package" +win32{ + package.path = $${OUT_PWD}/package/valentina + package.files += \ + $${OUT_PWD}/$${DESTDIR}/valentina.exe \ + $${OUT_PWD}/$${DESTDIR}/valentina.exe.dbg \ + $$PWD/../../dist/win/valentina.ico \ + $$PWD/../../dist/win/curl.exe \ + $$PWD/../../dist/win/exchndl.dll \ + $$PWD/../../dist/win/dbghelp.dll \ + $$PWD/../../dist/win/mgwhelp.dll \ + $$PWD/../../dist/win/symsrv.dll \ + $$PWD/../../dist/win/symsrv.yes \ + $$PWD/../../dist/win/pdftops.exe \ + $$PWD/../../AUTHORS.txt \ + $$PWD/../../LICENSE_GPL.txt \ + $$PWD/../../README.txt \ + $$PWD/../../ChangeLog.txt \ + $$PWD/../libs/qmuparser/LICENSE_BSD.txt \ + $${OUT_PWD}/../libs/qmuparser/$${DESTDIR}/qmuparser2.dll \ + $${OUT_PWD}/../libs/qmuparser/$${DESTDIR}/qmuparser2.dll.dbg \ + $${OUT_PWD}/../libs/vpropertyexplorer/$${DESTDIR}/vpropertyexplorer.dll \ + $${OUT_PWD}/../libs/vpropertyexplorer/$${DESTDIR}/vpropertyexplorer.dll.dbg \ + $$[QT_INSTALL_BINS]/icudt*.dll \ # Different name for different Qt releases + $$[QT_INSTALL_BINS]/icuin*.dll \ # Different name for different Qt releases + $$[QT_INSTALL_BINS]/icuuc*.dll \ # Different name for different Qt releases + $$[QT_INSTALL_BINS]/Qt5Core.dll \ + $$[QT_INSTALL_BINS]/Qt5Gui.dll \ + $$[QT_INSTALL_BINS]/Qt5Network.dll \ + $$[QT_INSTALL_BINS]/Qt5PrintSupport.dll \ + $$[QT_INSTALL_BINS]/Qt5Svg.dll \ + $$[QT_INSTALL_BINS]/Qt5Widgets.dll \ + $$[QT_INSTALL_BINS]/Qt5Xml.dll \ + $$[QT_INSTALL_BINS]/Qt5XmlPatterns.dll \ + $$[QT_INSTALL_BINS]/libgcc_s_dw2-1.dll \ + $$[QT_INSTALL_BINS]/libstdc++-6.dll \ + $$[QT_INSTALL_BINS]/libwinpthread-1.dll + INSTALLS += package + + package_tables.path = $${OUT_PWD}/package/valentina/tables/standard + package_tables.files += $${OUT_PWD}/$${DESTDIR}/tables/standard/GOST_man_ru.vst + INSTALLS += package_tables + + package_translations.path = $${OUT_PWD}/package/valentina/translations + package_translations.files += \ + $$INSTALL_TRANSLATIONS \ # Valentina + $$[QT_INSTALL_TRANSLATIONS]/qt_ar.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_pl.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_pt.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_ru.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_sk.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_sl.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_sv.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_uk.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_zh_CN.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_zh_TW.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_ca.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_cs.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_da.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_es.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_fa.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_fi.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_fr.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_gl.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_he.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_hu.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_it.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_ja.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_ko.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qt_lt.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_uk.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_ca.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_cs.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_de.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_hu.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_it.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_ja.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_ru.qm \ + $$[QT_INSTALL_TRANSLATIONS]/qtxmlpatterns_sk.qm + INSTALLS += package_translations + + package_bearer.path = $${OUT_PWD}/package/valentina/bearer + package_bearer.files += \ + $$[QT_INSTALL_PLUGINS]/bearer/qgenericbearer.dll \ + $$[QT_INSTALL_PLUGINS]/bearer/qnativewifibearer.dll + INSTALLS += package_bearer + + package_iconengines.path = $${OUT_PWD}/package/valentina/iconengines + package_iconengines.files += $$[QT_INSTALL_PLUGINS]/iconengines/qsvgicon.dll + INSTALLS += package_iconengines + + package_imageformats.path = $${OUT_PWD}/package/valentina/imageformats + package_imageformats.files += \ + $$[QT_INSTALL_PLUGINS]/imageformats/qdds.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qgif.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qicns.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qico.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qjp2.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qjpeg.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qmng.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qsvg.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qtga.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qtiff.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qwbmp.dll \ + $$[QT_INSTALL_PLUGINS]/imageformats/qwebp.dll \ + INSTALLS += package_imageformats + + package_platforms.path = $${OUT_PWD}/package/valentina/platforms + package_platforms.files += $$[QT_INSTALL_PLUGINS]/platforms/qwindows.dll + INSTALLS += package_platforms + + package_printsupport.path = $${OUT_PWD}/package/valentina/printsupport + package_printsupport.files += $$[QT_INSTALL_PLUGINS]/printsupport/windowsprintersupport.dll + INSTALLS += package_printsupport + + package_nsis.path = $${OUT_PWD}/package + package_nsis.files += $$PWD/../../dist/win/nsis/valentina.nsi + INSTALLS += package_nsis + + package_nsis_headers.path = $${OUT_PWD}/package/headers + package_nsis_headers.files += \ + $$PWD/../../dist/win/nsis/headers/fileassoc.nsh \ + $$PWD/../../dist/win/nsis/headers/fileversion.nsh + INSTALLS += package_nsis_headers + + # Do the packaging + # First, mangle all of INSTALLS values. We depend on them. + unset(MANGLED_INSTALLS) + for(x, INSTALLS):MANGLED_INSTALLS += install_$${x} + build_package.path = $${OUT_PWD}/package + build_package.commands = \"C:/Program Files/NSIS/makensisw.exe\" \"$${OUT_PWD}/package/valentina.nsi\" + build_package.depends = $${MANGLED_INSTALLS} + INSTALLS += build_package +} + # Some systems use special name for lrelease. For example opensuse 13.2 has lrelease-qt5. isEmpty(LRELEASE){ LRELEASE = lrelease