Mercurial > hg > vamp-plugin-pack
changeset 126:31435b4d9833
Build a 32-bit installer as well as 64-bit (on Windows). Requires splitting the resource file in two, otherwise the 32-bit compiler runs out of heap space!
author | Chris Cannam |
---|---|
date | Fri, 12 Jun 2020 15:13:59 +0100 |
parents | 1f7260245c6d |
children | 9209bf64c0c5 |
files | .hgignore deploy/clean-build-and-package.bat deploy/win32/build-32.bat deploy/win64/build-64.bat installer.cpp installer.pro installer.qrc.in installer_a.qrc.in installer_b.qrc.in |
diffstat | 9 files changed, 205 insertions(+), 163 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Thu Jun 11 17:19:32 2020 +0100 +++ b/.hgignore Fri Jun 12 15:13:59 2020 +0100 @@ -48,6 +48,8 @@ *.dmg *.app installer.qrc +installer_a.qrc +installer_b.qrc Dockerfile*.gen plugins.zip get-version
--- a/deploy/clean-build-and-package.bat Thu Jun 11 17:19:32 2020 +0100 +++ b/deploy/clean-build-and-package.bat Fri Jun 12 15:13:59 2020 +0100 @@ -13,12 +13,21 @@ @if "%YN%" neq "y" exit /b 3 @echo Proceeding + +@echo Building 32-bit +del /q /s out +del /q /s build_win32 +call .\deploy\win64\build-32.bat sign +if %errorlevel% neq 0 exit /b %errorlevel% + +@echo Building 64-bit del /q /s out del /q /s build_win64 call .\deploy\win64\build-64.bat sign if %errorlevel% neq 0 exit /b %errorlevel% mkdir packages +copy "build_win32\release\Vamp Plugin Pack Installer.exe" "packages\Vamp Plugin Pack Installer %VERSION% 32-bit.exe" copy "build_win64\release\Vamp Plugin Pack Installer.exe" "packages\Vamp Plugin Pack Installer %VERSION%.exe" @echo(
--- a/deploy/win32/build-32.bat Thu Jun 11 17:19:32 2020 +0100 +++ b/deploy/win32/build-32.bat Fri Jun 12 15:13:59 2020 +0100 @@ -70,7 +70,10 @@ if %errorlevel% neq 0 exit /b %errorlevel% rem So is this -call .\deploy\win64\generate-qrc installer.qrc +call .\deploy\win64\generate-qrc installer_a.qrc +if %errorlevel% neq 0 exit /b %errorlevel% + +call .\deploy\win64\generate-qrc installer_b.qrc if %errorlevel% neq 0 exit /b %errorlevel% mkdir build_win32 @@ -99,7 +102,10 @@ if %errorlevel% neq 0 exit /b %errorlevel% ) -%QTDIR%\bin\rcc ..\installer.qrc -o o\qrc_installer.cpp +%QTDIR%\bin\rcc --name A ..\installer_a.qrc -o o\qrc_installer_a.cpp +if %errorlevel% neq 0 exit /b %errorlevel% + +%QTDIR%\bin\rcc --name B ..\installer_b.qrc -o o\qrc_installer_b.cpp if %errorlevel% neq 0 exit /b %errorlevel% qmake -spec win32-msvc -r -tp vc ..\installer.pro
--- a/deploy/win64/build-64.bat Thu Jun 11 17:19:32 2020 +0100 +++ b/deploy/win64/build-64.bat Fri Jun 12 15:13:59 2020 +0100 @@ -68,7 +68,10 @@ PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'deploy\win64\copy-metadata.ps1' " if %errorlevel% neq 0 exit /b %errorlevel% -call .\deploy\win64\generate-qrc installer.qrc +call .\deploy\win64\generate-qrc installer_a.qrc +if %errorlevel% neq 0 exit /b %errorlevel% + +call .\deploy\win64\generate-qrc installer_b.qrc if %errorlevel% neq 0 exit /b %errorlevel% mkdir build_win64 @@ -97,7 +100,10 @@ if %errorlevel% neq 0 exit /b %errorlevel% ) -%QTDIR%\bin\rcc ..\installer.qrc -o o\qrc_installer.cpp +%QTDIR%\bin\rcc ..\installer_a.qrc -o o\qrc_installer_a.cpp +if %errorlevel% neq 0 exit /b %errorlevel% + +%QTDIR%\bin\rcc ..\installer_b.qrc -o o\qrc_installer_b.cpp if %errorlevel% neq 0 exit /b %errorlevel% qmake -spec win32-msvc -r -tp vc ..\installer.pro
--- a/installer.cpp Thu Jun 11 17:19:32 2020 +0100 +++ b/installer.cpp Fri Jun 12 15:13:59 2020 +0100 @@ -768,9 +768,15 @@ int statusColumn = 2; int infoColumn = 4; // column 3 is a small sliver of spacing + QString additionalNote = ""; + if (sizeof(char *) == 4) { + additionalNote = QObject::tr("(32-bit)"); + } + selectionLayout->addWidget - (new QLabel(QObject::tr("<b>Vamp Plugin Pack</b> v%1") - .arg(PACK_VERSION)), + (new QLabel(QObject::tr("<b>Vamp Plugin Pack</b> v%1 %2") + .arg(PACK_VERSION) + .arg(additionalNote)), selectionRow, titleColumn, 1, 3); ++selectionRow;
--- a/installer.pro Thu Jun 11 17:19:32 2020 +0100 +++ b/installer.pro Fri Jun 12 15:13:59 2020 +0100 @@ -28,28 +28,37 @@ ICON = icons/sv-macicon.icns RC_FILE = icons/sv.rc -qrc.target = $$PWD/installer.qrc -qrc.depends = $$PWD/installer.qrc.in -qrc.commands = $$DEPLOYDIR/generate-qrc $$PWD/installer.qrc +qrc_a.target = $$PWD/installer_a.qrc +qrc_a.depends = $$PWD/installer_a.qrc.in +qrc_a.commands = $$DEPLOYDIR/generate-qrc $$qrc_a.target -QMAKE_EXTRA_TARGETS += qrc -PRE_TARGETDEPS += $$qrc.target +qrc_b.target = $$PWD/installer_b.qrc +qrc_b.depends = $$PWD/installer_b.qrc.in +qrc_b.commands = $$DEPLOYDIR/generate-qrc $$qrc_b.target + +QMAKE_EXTRA_TARGETS += qrc_a qrc_b +PRE_TARGETDEPS += $$qrc_a.target $$qrc_b.target # We can't use use RESOURCES += installer.qrc here, as qmake will # reject a resource file that hasn't been generated yet qtPrepareTool(QMAKE_RCC, rcc) -qrc_cpp.target = $${RCC_DIR}/qrc_installer.cpp -qrc_cpp.depends = $$qrc.target -qrc_cpp.commands = $$QMAKE_RCC $$qrc.target -o $$qrc_cpp.target +qrc_cpp_a.target = $${RCC_DIR}/qrc_installer_a.cpp +qrc_cpp_a.depends = $$qrc_a.target +qrc_cpp_a.commands = $$QMAKE_RCC --name A $$qrc_a.target -o $$qrc_cpp_a.target -QMAKE_EXTRA_TARGETS += qrc_cpp -PRE_TARGETDEPS += $$qrc_cpp.target +qrc_cpp_b.target = $${RCC_DIR}/qrc_installer_b.cpp +qrc_cpp_b.depends = $$qrc_b.target +qrc_cpp_b.commands = $$QMAKE_RCC --name B $$qrc_b.target -o $$qrc_cpp_b.target + +QMAKE_EXTRA_TARGETS += qrc_cpp_a qrc_cpp_b +PRE_TARGETDEPS += $$qrc_cpp_a.target $$qrc_cpp_b.target SOURCES += \ installer.cpp \ - $$qrc_cpp.target \ + $$qrc_cpp_a.target \ + $$qrc_cpp_b.target \ svcore/base/Debug.cpp \ svcore/base/ResourceFinder.cpp \ svcore/system/System.cpp \
--- a/installer.qrc.in Thu Jun 11 17:19:32 2020 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,146 +0,0 @@ -<!DOCTYPE RCC><RCC version="1.0"> -<qresource> - <file>icons/scalable/info.svg</file> - <file>out/get-version@EXESUFFIX@</file> - <file>out/azi.cat</file> - <file>out/azi_COPYING.txt</file> - <file>out/azi@SUFFIX@</file> - <file>out/bbc-vamp-plugins.cat</file> - <file>out/bbc-vamp-plugins_COPYING.txt</file> - <file>out/bbc-vamp-plugins_README.md</file> - <file>out/bbc-vamp-plugins@SUFFIX@</file> - <file>out/beatroot-vamp.cat</file> - <file>out/beatroot-vamp_CITATION.txt</file> - <file>out/beatroot-vamp_COPYING.txt</file> - <file>out/beatroot-vamp_README.txt</file> - <file>out/beatroot-vamp@SUFFIX@</file> - <file>out/cepstral-pitchtracker.cat</file> - <file>out/cepstral-pitchtracker_COPYING.txt</file> - <file>out/cepstral-pitchtracker_README.txt</file> - <file>out/cepstral-pitchtracker@SUFFIX@</file> - <file>out/cqvamp.cat</file> - <file>out/cqvamp_CITATION.txt</file> - <file>out/cqvamp_COPYING.txt</file> - <file>out/cqvamp_README.txt</file> - <file>out/cqvamp@SUFFIX@</file> - <file>out/fanchirp.cat</file> - <file>out/fanchirp_CITATION.txt</file> - <file>out/fanchirp_COPYING.txt</file> - <file>out/fanchirp_README.md</file> - <file>out/fanchirp@SUFFIX@</file> - <file>out/match-vamp-plugin.cat</file> - <file>out/match-vamp-plugin_CITATION.txt</file> - <file>out/match-vamp-plugin_COPYING.txt</file> - <file>out/match-vamp-plugin_README.txt</file> - <file>out/match-vamp-plugin@SUFFIX@</file> - <file>out/mvamp.cat</file> - <file>out/mvamp_COPYING.txt</file> - <file>out/mvamp_README.txt</file> - <file>out/mvamp@SUFFIX@</file> - <file>out/nnls-chroma.cat</file> - <file>out/nnls-chroma_CITATION.txt</file> - <file>out/nnls-chroma_COPYING.txt</file> - <file>out/nnls-chroma_README.txt</file> - <file>out/nnls-chroma@SUFFIX@</file> - <file>out/pyin.cat</file> - <file>out/pyin_COPYING.txt</file> - <file>out/pyin_README.txt</file> - <file>out/pyin@SUFFIX@</file> - <file>out/qm-vamp-plugins.cat</file> - <file>out/qm-vamp-plugins_COPYING.txt</file> - <file>out/qm-vamp-plugins_README.md</file> - <file>out/qm-vamp-plugins@SUFFIX@</file> - <file>out/segmentino.cat</file> - <file>out/segmentino_CITATION.txt</file> - <file>out/segmentino_COPYING.txt</file> - <file>out/segmentino_README.txt</file> - <file>out/segmentino@SUFFIX@</file> - <file>out/silvet.cat</file> - <file>out/silvet_CITATION.txt</file> - <file>out/silvet_COPYING.txt</file> - <file>out/silvet_README.txt</file> - <file>out/silvet@SUFFIX@</file> - <file>out/simple-cepstrum.cat</file> - <file>out/simple-cepstrum_COPYING.txt</file> - <file>out/simple-cepstrum_README.txt</file> - <file>out/simple-cepstrum@SUFFIX@</file> - <file>out/tempogram.cat</file> - <file>out/tempogram_CITATION.txt</file> - <file>out/tempogram_COPYING.txt</file> - <file>out/tempogram_README.txt</file> - <file>out/tempogram@SUFFIX@</file> - <file>out/tipic.cat</file> - <file>out/tipic_CITATION.txt</file> - <file>out/tipic_COPYING.txt</file> - <file>out/tipic_README.txt</file> - <file>out/tipic@SUFFIX@</file> - <file>out/tuning-difference.cat</file> - <file>out/tuning-difference_COPYING.txt</file> - <file>out/tuning-difference_README.md</file> - <file>out/tuning-difference@SUFFIX@</file> - <file>out/ua-vamp-plugins.cat</file> - <file>out/ua-vamp-plugins_COPYING.txt</file> - <file>out/ua-vamp-plugins_README.md</file> - <file>out/ua-vamp-plugins@SUFFIX@</file> - <file>out/vamp-aubio.cat</file> - <file>out/vamp-aubio_COPYING.txt</file> - <file>out/vamp-aubio_README.md</file> - <file>out/vamp-aubio@SUFFIX@</file> - <file>out/vamp-example-plugins.cat</file> - <file>out/vamp-example-plugins_COPYING.txt</file> - <file>out/vamp-example-plugins@SUFFIX@</file> - <file>out/vamp-libxtract.cat</file> - <file>out/vamp-libxtract_COPYING.txt</file> - <file>out/vamp-libxtract_README.txt</file> - <file>out/vamp-libxtract@SUFFIX@</file> -<!-- No, I don't think VamPy is reliable enough to install for everyone - <file>out/vampy_COPYING.txt</file> - <file>out/vampy_README.txt</file> - <file>out/vampy@SUFFIX@</file> ---> - <file>rdf/vamp.n3</file> - <file>rdf/vamp.rdf</file> - <file>rdf/plugins/availability.n3</file> - <file>rdf/plugins/azi.n3</file> - <file>rdf/plugins/bbc-vamp-plugins.n3</file> - <file>rdf/plugins/beatroot-vamp.n3</file> - <file>rdf/plugins/cepstral-pitchtracker.n3</file> - <file>rdf/plugins/cqvamp.n3</file> - <file>rdf/plugins/extra-categories.n3</file> - <file>rdf/plugins/FChT_f0gram.n3</file> - <file>rdf/plugins/featured.n3</file> - <file>rdf/plugins/index.txt</file> - <file>rdf/plugins/match-vamp-plugin.n3</file> - <file>rdf/plugins/mazurka-plugins.n3</file> - <file>rdf/plugins/mfs.n3</file> - <file>rdf/plugins/mir-edu.n3</file> - <file>rdf/plugins/mtg-melodia.n3</file> - <file>rdf/plugins/mvamp-ibt.n3</file> - <file>rdf/plugins/mvamp.n3</file> - <file>rdf/plugins/nnls-chroma.n3</file> - <file>rdf/plugins/ofa-vamp-plugin.n3</file> - <file>rdf/plugins/pyin.n3</file> - <file>rdf/plugins/qm-vamp-plugins.n3</file> - <file>rdf/plugins/segmentino.n3</file> - <file>rdf/plugins/silvet.n3</file> - <file>rdf/plugins/simple-cepstrum.n3</file> - <file>rdf/plugins/tempogram.n3</file> - <file>rdf/plugins/tipic.n3</file> - <file>rdf/plugins/tuning-difference.n3</file> - <file>rdf/plugins/ua-vamp-plugins.n3</file> - <file>rdf/plugins/vamp-aubio.n3</file> - <file>rdf/plugins/vamp-example-plugins.n3</file> - <file>rdf/plugins/vamp-hpcp-mtg.n3</file> - <file>rdf/plugins/vamp-libxtract.n3</file> - <file>rdf/plugins/vamp-onsetsds.n3</file> - <file>rdf/plugins/makers/bbc.png</file> - <file>rdf/plugins/makers/bbc-rd.png</file> - <file>rdf/plugins/makers/qm-logo.png</file> - <file>rdf/plugins/makers/qm.png</file> - <file>rdf/plugins/makers/rgu.png</file> - <file>rdf/plugins/makers/smc.png</file> - <file>rdf/plugins/makers/ua.png</file> - <file>rdf/plugins/makers/udelar.png</file> - <file>rdf/plugins/makers/upf.png</file> -</qresource> -</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/installer_a.qrc.in Fri Jun 12 15:13:59 2020 +0100 @@ -0,0 +1,54 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>icons/scalable/info.svg</file> + <file>out/get-version@EXESUFFIX@</file> + <file>out/azi.cat</file> + <file>out/azi_COPYING.txt</file> + <file>out/azi@SUFFIX@</file> + <file>out/bbc-vamp-plugins.cat</file> + <file>out/bbc-vamp-plugins_COPYING.txt</file> + <file>out/bbc-vamp-plugins_README.md</file> + <file>out/bbc-vamp-plugins@SUFFIX@</file> + <file>out/beatroot-vamp.cat</file> + <file>out/beatroot-vamp_CITATION.txt</file> + <file>out/beatroot-vamp_COPYING.txt</file> + <file>out/beatroot-vamp_README.txt</file> + <file>out/beatroot-vamp@SUFFIX@</file> + <file>out/cepstral-pitchtracker.cat</file> + <file>out/cepstral-pitchtracker_COPYING.txt</file> + <file>out/cepstral-pitchtracker_README.txt</file> + <file>out/cepstral-pitchtracker@SUFFIX@</file> + <file>out/cqvamp.cat</file> + <file>out/cqvamp_CITATION.txt</file> + <file>out/cqvamp_COPYING.txt</file> + <file>out/cqvamp_README.txt</file> + <file>out/cqvamp@SUFFIX@</file> + <file>out/fanchirp.cat</file> + <file>out/fanchirp_CITATION.txt</file> + <file>out/fanchirp_COPYING.txt</file> + <file>out/fanchirp_README.md</file> + <file>out/fanchirp@SUFFIX@</file> + <file>out/match-vamp-plugin.cat</file> + <file>out/match-vamp-plugin_CITATION.txt</file> + <file>out/match-vamp-plugin_COPYING.txt</file> + <file>out/match-vamp-plugin_README.txt</file> + <file>out/match-vamp-plugin@SUFFIX@</file> + <file>out/mvamp.cat</file> + <file>out/mvamp_COPYING.txt</file> + <file>out/mvamp_README.txt</file> + <file>out/mvamp@SUFFIX@</file> + <file>out/nnls-chroma.cat</file> + <file>out/nnls-chroma_CITATION.txt</file> + <file>out/nnls-chroma_COPYING.txt</file> + <file>out/nnls-chroma_README.txt</file> + <file>out/nnls-chroma@SUFFIX@</file> + <file>out/pyin.cat</file> + <file>out/pyin_COPYING.txt</file> + <file>out/pyin_README.txt</file> + <file>out/pyin@SUFFIX@</file> + <file>out/qm-vamp-plugins.cat</file> + <file>out/qm-vamp-plugins_COPYING.txt</file> + <file>out/qm-vamp-plugins_README.md</file> + <file>out/qm-vamp-plugins@SUFFIX@</file> +</qresource> +</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/installer_b.qrc.in Fri Jun 12 15:13:59 2020 +0100 @@ -0,0 +1,96 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>out/segmentino.cat</file> + <file>out/segmentino_CITATION.txt</file> + <file>out/segmentino_COPYING.txt</file> + <file>out/segmentino_README.txt</file> + <file>out/segmentino@SUFFIX@</file> + <file>out/silvet.cat</file> + <file>out/silvet_CITATION.txt</file> + <file>out/silvet_COPYING.txt</file> + <file>out/silvet_README.txt</file> + <file>out/silvet@SUFFIX@</file> + <file>out/simple-cepstrum.cat</file> + <file>out/simple-cepstrum_COPYING.txt</file> + <file>out/simple-cepstrum_README.txt</file> + <file>out/simple-cepstrum@SUFFIX@</file> + <file>out/tempogram.cat</file> + <file>out/tempogram_CITATION.txt</file> + <file>out/tempogram_COPYING.txt</file> + <file>out/tempogram_README.txt</file> + <file>out/tempogram@SUFFIX@</file> + <file>out/tipic.cat</file> + <file>out/tipic_CITATION.txt</file> + <file>out/tipic_COPYING.txt</file> + <file>out/tipic_README.txt</file> + <file>out/tipic@SUFFIX@</file> + <file>out/tuning-difference.cat</file> + <file>out/tuning-difference_COPYING.txt</file> + <file>out/tuning-difference_README.md</file> + <file>out/tuning-difference@SUFFIX@</file> + <file>out/ua-vamp-plugins.cat</file> + <file>out/ua-vamp-plugins_COPYING.txt</file> + <file>out/ua-vamp-plugins_README.md</file> + <file>out/ua-vamp-plugins@SUFFIX@</file> + <file>out/vamp-aubio.cat</file> + <file>out/vamp-aubio_COPYING.txt</file> + <file>out/vamp-aubio_README.md</file> + <file>out/vamp-aubio@SUFFIX@</file> + <file>out/vamp-example-plugins.cat</file> + <file>out/vamp-example-plugins_COPYING.txt</file> + <file>out/vamp-example-plugins@SUFFIX@</file> + <file>out/vamp-libxtract.cat</file> + <file>out/vamp-libxtract_COPYING.txt</file> + <file>out/vamp-libxtract_README.txt</file> + <file>out/vamp-libxtract@SUFFIX@</file> +<!-- No, I don't think VamPy is reliable enough to install for everyone + <file>out/vampy_COPYING.txt</file> + <file>out/vampy_README.txt</file> + <file>out/vampy@SUFFIX@</file> +--> + <file>rdf/vamp.n3</file> + <file>rdf/vamp.rdf</file> + <file>rdf/plugins/availability.n3</file> + <file>rdf/plugins/azi.n3</file> + <file>rdf/plugins/bbc-vamp-plugins.n3</file> + <file>rdf/plugins/beatroot-vamp.n3</file> + <file>rdf/plugins/cepstral-pitchtracker.n3</file> + <file>rdf/plugins/cqvamp.n3</file> + <file>rdf/plugins/extra-categories.n3</file> + <file>rdf/plugins/FChT_f0gram.n3</file> + <file>rdf/plugins/featured.n3</file> + <file>rdf/plugins/index.txt</file> + <file>rdf/plugins/match-vamp-plugin.n3</file> + <file>rdf/plugins/mazurka-plugins.n3</file> + <file>rdf/plugins/mfs.n3</file> + <file>rdf/plugins/mir-edu.n3</file> + <file>rdf/plugins/mtg-melodia.n3</file> + <file>rdf/plugins/mvamp-ibt.n3</file> + <file>rdf/plugins/mvamp.n3</file> + <file>rdf/plugins/nnls-chroma.n3</file> + <file>rdf/plugins/ofa-vamp-plugin.n3</file> + <file>rdf/plugins/pyin.n3</file> + <file>rdf/plugins/qm-vamp-plugins.n3</file> + <file>rdf/plugins/segmentino.n3</file> + <file>rdf/plugins/silvet.n3</file> + <file>rdf/plugins/simple-cepstrum.n3</file> + <file>rdf/plugins/tempogram.n3</file> + <file>rdf/plugins/tipic.n3</file> + <file>rdf/plugins/tuning-difference.n3</file> + <file>rdf/plugins/ua-vamp-plugins.n3</file> + <file>rdf/plugins/vamp-aubio.n3</file> + <file>rdf/plugins/vamp-example-plugins.n3</file> + <file>rdf/plugins/vamp-hpcp-mtg.n3</file> + <file>rdf/plugins/vamp-libxtract.n3</file> + <file>rdf/plugins/vamp-onsetsds.n3</file> + <file>rdf/plugins/makers/bbc.png</file> + <file>rdf/plugins/makers/bbc-rd.png</file> + <file>rdf/plugins/makers/qm-logo.png</file> + <file>rdf/plugins/makers/qm.png</file> + <file>rdf/plugins/makers/rgu.png</file> + <file>rdf/plugins/makers/smc.png</file> + <file>rdf/plugins/makers/ua.png</file> + <file>rdf/plugins/makers/udelar.png</file> + <file>rdf/plugins/makers/upf.png</file> +</qresource> +</RCC>