Update create_release.sh script to create Mac releases too

This commit is contained in:
David Capello 2014-06-06 08:51:11 -03:00
parent f2d3bcac29
commit 1ffccada68
2 changed files with 88 additions and 56 deletions

View File

@ -9,8 +9,19 @@ read version
echo -n "What kind of distribution (e.g. production, trial) ? "
read distribution
echo -n "What platform (e.g. win, mac) ? "
read platform
destdir=$(pwd)/aseprite-release-$version
if [ "$platform" == "win" ]; then
exefile=aseprite.exe
generator=ninja
elif [ "$platform" == "mac" ]; then
exefile=aseprite
generator=make
fi
# --------------------------
# Clone the local repository
# --------------------------
@ -24,7 +35,7 @@ fi
# --------------
cd "$destdir/scripts"
sh update_version.sh $version
sh $srcdir/scripts/update_version.sh $version
# ----------------------------------------------
# Make a build/ directory and compile with cmake
@ -33,23 +44,39 @@ sh update_version.sh $version
if [ ! -d "$destdir/build" ] ; then
mkdir "$destdir/build"
cd "$destdir/build"
if [ "$distribution" == "production" ]; then
cmake \
-D "CMAKE_BUILD_TYPE:STRING=RelWithDebInfo" \
-D "CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_C_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_EXE_LINKER_FLAGS:STRING = /MACHINE:X86 /SUBSYSTEM:WINDOWS,5.01" \
-G "Ninja" \
..
elif [ "$distribution" == "trial" ]; then
cmake \
-D "CMAKE_BUILD_TYPE:STRING=RelWithDebInfo" \
-D "CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_C_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_EXE_LINKER_FLAGS:STRING = /MACHINE:X86 /SUBSYSTEM:WINDOWS,5.01" \
-D "ENABLE_TRIAL_MODE:BOOL=ON" \
-G "Ninja" \
..
if [ "$platform" == "win" ]; then
if [ "$distribution" == "production" ]; then
cmake \
-D "CMAKE_BUILD_TYPE:STRING=RelWithDebInfo" \
-D "CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_C_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_EXE_LINKER_FLAGS:STRING = /MACHINE:X86 /SUBSYSTEM:WINDOWS,5.01" \
-G "Ninja" \
..
elif [ "$distribution" == "trial" ]; then
cmake \
-D "CMAKE_BUILD_TYPE:STRING=RelWithDebInfo" \
-D "CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_C_FLAGS_RELWITHDEBINFO:STRING = /Zi /MT /O2 /Ob1 /D NDEBUG" \
-D "CMAKE_EXE_LINKER_FLAGS:STRING = /MACHINE:X86 /SUBSYSTEM:WINDOWS,5.01" \
-D "ENABLE_TRIAL_MODE:BOOL=ON" \
-G "Ninja" \
..
fi
elif [ "$platform" == "mac" ]; then
if [ "$distribution" == "production" ]; then
cmake \
-D "CMAKE_BUILD_TYPE:STRING=RelWithDebInfo" \
-G "Unix Makefiles" \
..
elif [ "$distribution" == "trial" ]; then
cmake \
-D "CMAKE_BUILD_TYPE:STRING=RelWithDebInfo" \
-D "ENABLE_TRIAL_MODE:BOOL=ON" \
-G "Unix Makefiles" \
..
fi
fi
fi
@ -57,13 +84,13 @@ fi
# Compile
# -------
if [ ! -f "$destdir/aseprite.exe" ] ; then
if [ ! -f "$destdir/$exefile" ] ; then
cd "$destdir/build"
ninja aseprite
$generator aseprite
cd "$destdir/build/src"
signexe aseprite.exe
cp aseprite.exe "$destdir"
signexe $exefile
cp $exefile "$destdir"
fi
# ---------------
@ -71,4 +98,8 @@ fi
# ---------------
cd "$destdir/scripts"
sh create_packages.sh
if [ "$platform" == "win" ]; then
sh create_packages.sh
elif [ "$platform" == "mac" ]; then
sh create_dmg.sh
fi

View File

@ -1,33 +1,34 @@
#! /bin/sh
if [ ! -f update_version.sh ]; then
echo You must run update_version.sh from scripts/ directory
exit 1
fi
version=$1
if [ "$version" == "" ]; then
echo Usage: update_version.sh VERSION
exit 1
fi
version_win32=$(echo $1 | sed -e 's/\./,/g' | sed -e 's/-.*$//')
commas=$(grep -o "," <<< "$version_win32" | wc -l)
while [ $commas -lt 3 ] ; do
version_win32+=",0"
commas=$(grep -o "," <<< "$version_win32" | wc -l)
done
sed -e "s/define VERSION.*/define VERSION \"$version\"/" < ../src/config.h > tmp
mv tmp ../src/config.h
sed -e "s/gui version=\".*/gui version=\"$version\">/" < ../data/gui.xml > tmp
mv tmp ../data/gui.xml
sed -e "s/FILEVERSION .*/FILEVERSION $version_win32/" < ../src/main/resources_win32.rc \
| sed -e "s/PRODUCTVERSION .*/PRODUCTVERSION $version_win32/" \
| sed -e "s/FileVersion\",.*/FileVersion\", \"$version_win32\"/" \
| sed -e "s/ProductVersion\",.*/ProductVersion\", \"$version_win32\"/" \
> tmp
mv tmp ../src/main/resources_win32.rc
#! /bin/sh
if [ ! -f update_version.sh ]; then
echo You must run update_version.sh from scripts/ directory
exit 1
fi
version=$1
if [ "$version" == "" ]; then
echo Usage: update_version.sh VERSION
exit 1
fi
version_win32=$(echo $1 | sed -e 's/\./,/g' | sed -e 's/-.*$//')
commas=$(grep -o "," <<< "$version_win32" | wc -l)
while [ $commas -lt 3 ] ; do
version_win32+=",0"
commas=$(grep -o "," <<< "$version_win32" | wc -l)
done
sed -e "s/define VERSION.*/define VERSION \"$version\"/" < ../src/config.h > tmp
mv tmp ../src/config.h
sed -e "s/gui version=\".*/gui version=\"$version\">/" < ../data/gui.xml > tmp
mv tmp ../data/gui.xml
cat ../src/main/resources_win32.rc \
| sed -e "s/FILEVERSION .*/FILEVERSION $version_win32/" \
| sed -e "s/PRODUCTVERSION .*/PRODUCTVERSION $version_win32/" \
| sed -e "s/FileVersion\",.*/FileVersion\", \"$version_win32\"/" \
| sed -e "s/ProductVersion\",.*/ProductVersion\", \"$version_win32\"/" \
> tmp
mv tmp ../src/main/resources_win32.rc