subsurface/packaging/windows/create-win-installer.sh
Dirk Hohndel 62477d8c65 Complete redesign of Subsurface version numbers
- for now all versions start with v6.0
- CICD builds use the monolithic build number as patch level, e.g. v6.0.12345
- local builds use the following algorithm
  - find the newest commit with a CICD build number that is included in the
    working tree
  - count the number of commits in the working tree since that commit
  - if there are no commits since the last CICD build, the local build version
    will be v6.0.12345-local
  - if there are N commits since the last CICD build, it will be
    v6.0.12345-N-local
- test builds in the CICD that don't create artifacts simply use a dummy release
  in order to not incorrectly increment the build number and also not to waste
  time and resources by manually checking out the nightly-build repo for each of
  these builds.

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
2024-01-06 10:55:24 -08:00

45 lines
1.1 KiB
Bash

#!/bin/bash
# this is run inside the docker container
cd /__w
[ -d mxe ] || ln -s /win/mxe .
# grab the version number
cd subsurface
VERSION=$(./scripts/get-version)
cd ..
# prep the container
bash subsurface/.github/workflows/scripts/windows-container-prep.sh
# remove artifact from prior builds
rm -f mdbtools/include/mdbver.h
# build the 64bit installer
rm -rf win64
mkdir win64
cd win64
# build Subsurface and then smtk2ssrf
export MXEBUILDTYPE=x86_64-w64-mingw32.shared
export PATH=/win/mxe/usr/bin:$PATH
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
mv subsurface/subsurface-$VERSION.exe /__w
bash -ex ../subsurface/packaging/windows/smtk2ssrf-mxe-build.sh -a -i
mv smtk-import/smtk2ssrf-$VERSION.exe /__w
if [ "$1" != "-64only" ] ; then
# build the 32bit installer
cd /__w
rm -rf win32
mkdir win32
cd win32
# build Subsurface and then smtk2ssrf
export MXEBUILDTYPE=i686-w64-mingw32.shared
bash -ex ../subsurface/packaging/windows/mxe-based-build.sh installer
mv subsurface/subsurface-$VERSION.exe /__w/subsurface-32bit-$VERSION.exe
fi