Mercurial > molko
changeset 37:c33c8e9a89f6
misc: add script to generate Windows bundle
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 13 Jan 2020 20:57:28 +0100 |
parents | 798baf7f3ec0 |
children | 83ae0e13c416 |
files | package-mingw64.sh |
diffstat | 1 files changed, 91 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/package-mingw64.sh Mon Jan 13 20:57:28 2020 +0100 @@ -0,0 +1,91 @@ +#!/bin/sh +# +# package-mingw64.sh -- create fakeroot directory for MinGW-w64 +# +# Copyright (c) 2020 David Demelier <markand@malikania.fr> +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +verbose=0 + +die() +{ + echo "$1" 1>&2 + exit 1 +} + +info() +{ + if [ $verbose -eq 1 ]; then + echo $1 + fi +} + +depends() +{ + ldd molko.exe | grep -E "/mingw" | awk '{ print $3 }' +} + +usage() +{ + echo "Create a directory suitable for packaging." 1>&2 + echo "" 1>&2 + echo "usage: $(basename $0) [-v] output-directory" 1>&2 + exit 1 +} + +if [ ! -f Makefile ]; then + die "abort: must be ran from top directory" +fi + +if [ ! -f molko.exe ]; then + die "abort: no molko.exe binary found, did you build?" +fi + +while getopts "v" opt; do + case $opt in + v) + verbose=1 + ;; + *) + usage + ;; + esac +done + +shift $((OPTIND - 1)) + +if [ $# -eq 0 ] || [ -z $1 ]; then + usage +fi + +output=${1:-package} + +info "Creating package in $output" + +rm -rf "$output" +mkdir -p "$output" + +info "Copying molko.exe" +cp molko.exe "$output" + +info "Copying assets" +cp -R assets "$output" + +depends | while read -r file; do + info "Copying dependency $file" + cp -f "$file" "$output" +done + +info "Molko's Adventure is ready in $output"