KShare/AppVeyor/make_installer.sh

60 lines
2.2 KiB
Bash

#!/usr/bin/env bash
function addFile {
cp $1 . || (echo cp $1 failed ; return 1)
7z a -tzip portable.zip $(basename $1) > /dev/null
echo "Source: \"$(basename $1)\"; DestDir: \"{app}\"; Flags: ignoreversion" >> installer.iss
echo $1
}
function addFileIn {
name=$2\\$(basename $1)
mkdir -p $2
cp $1 $2 || (echo cp $name failed ; return 1)
7z a -tzip portable.zip $name > /dev/null
echo "Source: \"$name\"; DestDir: \"{app}\\$2\"; Flags: ignoreversion" >> installer.iss
echo $name
}
ver=$(cat src/main.cpp | grep setApplicationVersion | sed "s/\\s*a.setApplicationVersion(\"//g" | sed "s/\");//g")
cd packages/windows
cp ../../KShare.exe . || exit 3
7z a -tzip portable.zip KShare.exe
cp /c/Windows/System32/msvcr120.dll /c/projects/kshare/packages/windows/
sed "s/;VER;/$ver/" installer.iss.pattern.top > installer.iss
addFile ../../build/QtAV-depends-windows-x86+x64/bin/avcodec-57.dll
addFile ../../build/QtAV-depends-windows-x86+x64/bin/avformat-57.dll
addFile ../../build/QtAV-depends-windows-x86+x64/bin/avutil-55.dll
addFile ../../build/QtAV-depends-windows-x86+x64/bin/swresample-2.dll
addFile ../../build/QtAV-depends-windows-x86+x64/bin/swscale-4.dll
addFile /c/Qt/5.9/mingw53_32/bin/Qt5Core.dll
addFile /c/Qt/5.9/mingw53_32/bin/Qt5Network.dll
addFile /c/Qt/5.9/mingw53_32/bin/Qt5Gui.dll
addFile /c/Qt/5.9/mingw53_32/bin/Qt5Widgets.dll
addFile /c/Qt/5.9/mingw53_32/bin/Qt5WinExtras.dll
addFile /c/Qt/5.9/mingw53_32/bin/Qt5Multimedia.dll
addFileIn /c/Qt/5.9/mingw53_32/plugins/platforms/qwindows.dll platforms
addFileIn /c/Qt/5.9/mingw53_32/plugins/mediaservice/dsengine.dll mediaservice
addFile /c/Qt/5.9/mingw53_32/bin/LIBSTDC++-6.DLL
addFile /c/Qt/5.9/mingw53_32/bin/LIBWINPTHREAD-1.DLL
addFile /c/Qt/5.9/mingw53_32/bin/LIBGCC_S_DW2-1.DLL
addFile /c/OpenSSL-Win32/bin/libeay32.dll
addFile /c/OpenSSL-Win32/bin/ssleay32.dll
#addFile /c/OpenSSL-Win32/bin/msvcr120.dll
addFile /c/Windows/System32/msvcr120.dll
echo -----------------
ls /c/OpenSSL-Win32/bin/ -R
echo -----------------
cat installer.iss.pattern.bottom >> installer.iss
"C:\Program Files (x86)\Inno Setup 5\ISCC.exe" installer.iss
cp Output/setup.exe ../../installer.exe || exit 1
cp portable.zip ../../ || exit 2