Built and exported by Vcpkg.
Install Vcpkg and it's dependencies.
Build all required packages for one or both architectures:
vcpkg install tbb:x64-windows fuzzylite:x64-windows sdl2:x64-windows sdl2-image:x64-windows sdl2-ttf:x64-windows sdl2-mixer[mpg123]:x64-windows boost:x64-windows qt5-base:x64-windows ffmpeg:x64-windows luajit:x64-windows qt5-translations:x64-windows enet:x64-windows
vcpkg install tbb:x86-windows fuzzylite:x86-windows sdl2:x86-windows sdl2-image:x86-windows sdl2-ttf:x86-windows sdl2-mixer[mpg123]:x86-windows boost:x86-windows qt5-base:x86-windows ffmpeg:x86-windows luajit:x86-windows qt5-translations:x86-windows enet:x86-windows
Export packages so 7z archive will be produced:
vcpkg export tbb:x64-windows fuzzylite:x64-windows sdl2:x64-windows sdl2-image:x64-windows sdl2-ttf:x64-windows sdl2-mixer:x64-windows boost:x64-windows qt5-base:x64-windows ffmpeg:x64-windows luajit:x64-windows qt5-translations:x64-windows enet:x64-windows --7zip
vcpkg export tbb:x86-windows fuzzylite:x86-windows sdl2:x86-windows sdl2-image:x86-windows sdl2-ttf:x86-windows sdl2-mixer:x86-windows boost:x86-windows qt5-base:x86-windows ffmpeg:x86-windows luajit:x86-windows qt5-translations:x86-windows enet:x86-windows --7zip
Rename archives appropriately. Bevare that Vcpkg use newest MSVC available by default, but it's possible to enforce certain version with custom triplet.
vcpkg-export-20170802-233045.7z -> vcpkg-export-x86-windows-v140.7z
vcpkg-export-20170802-233045.7z -> vcpkg-export-x64-windows-v140.7z
Rename root directory inside archive from vcpkg-export-20170802-233045
to vcpkg
. Can be done via command line 7-zip:
# Linux
7za rn vcpkg-export-x64-windows-v140.7z vcpkg-export-20170802-233045 vcpkg
# Windows. Fail for some reason.
7z.exe rn vcpkg-export-x64-windows-v140.7z vcpkg-export-20170802-233045 vcpkg
Hacks to fix issues with release build
Remove debug section from archive under installed/x64-windows and add new empty folder debug, copy release binaries from installed/x64-windows/bin to installed/x64-windows/debug/bin and same for lib folder
Remove TBBTargets-debug.cmake so that TBB is not aware that it has any kind of debug build during find-package or whatever
Archives can be uploaded to releases using github-release:
github-release upload --user vcmi --repo vcmi-deps-windows --tag v1 --name "vcpkg-export-x86-windows-v140.7z" --file vcpkg-export-x86-windows-v140.7z --security-token 9eatokentokentokentokentoken6e
Package list can be generated with:
echo -e "\n| Package | Version |\n| --- | --- |"; ./vcpkg list | grep x86 | grep -v static | awk '{ print "| " $1 " | " $2 " |"}' | sed -r 's/:x86-windows//'