mirror of https://github.com/vitalif/openscad
move functionality from build-installer script to release-common.
mostly this means 1. detect NSIS and fail with error message if its not there 2. remove mingw-build-installer and mingw-build-openscad as they are nowredundant. running publish-mingw-x does exactly the same thing, only better because it builds from a clean source tree.felipesanches-svg
parent
06d48a47f8
commit
58db7a9d19
|
@ -1,97 +0,0 @@
|
|||
#!/bin/sh -e
|
||||
#
|
||||
# This script builds a binary install package of OpenSCAD for Windows
|
||||
# using a cross-built mingw OpenSCAD and the NSIS installer system
|
||||
#
|
||||
# This script must be run from the OpenSCAD source root directory
|
||||
#
|
||||
# Usage: ./scripts/mingw-x-build-installer.sh
|
||||
#
|
||||
# Result: binary installer in $DEPLOYDIR directory
|
||||
#
|
||||
#
|
||||
# Prerequisites:
|
||||
#
|
||||
# source ./scripts/setenv-mingw-xbuild.sh
|
||||
# ./scripts/mingw-x-build-dependencues.sh
|
||||
#
|
||||
# and then build openscad before running this script.
|
||||
#
|
||||
# You need MCAD. run 'git submodule init && git submodule update'
|
||||
#
|
||||
# You need the Nullsoft installer system, on ubuntu 'sudo apt-get install nsis'
|
||||
#
|
||||
# Also see http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Cross-compiling_for_Windows_on_Linux_or_Mac_OS_X
|
||||
#
|
||||
|
||||
OPENSCADDIR=$PWD
|
||||
if [ ! -f $OPENSCADDIR/openscad.pro ]; then
|
||||
echo "Must be run from the OpenSCAD source root directory"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
. ./scripts/setenv-mingw-xbuild.sh
|
||||
|
||||
if [ ! -e $OPENSCADDIR/libraries/MCAD/__init__.py ]; then
|
||||
echo "Downloading MCAD"
|
||||
git submodule init
|
||||
git submodule update
|
||||
fi
|
||||
|
||||
if [ ! -e $DEPLOYDIR ]; then
|
||||
echo $DEPLOYDIR "empty. Please build OpenSCAD for mingw32 first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OPENSCAD_EXE=$DEPLOYDIR/release/openscad.exe
|
||||
|
||||
if [ ! -e $OPESCAD_EXE ]; then
|
||||
echo "Can't find" $OPENSCAD_EXE "Please build OpenSCAD for mingw32 first."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MAKENSIS=
|
||||
|
||||
if [ ! "`command -v makensis`" ]; then
|
||||
MAKENSIS=makensis
|
||||
fi
|
||||
|
||||
if [ ! "`command -v i686-pc-mingw32-makensis`" ]; then
|
||||
MAKENSIS=i686-pc-mingw32-makensis
|
||||
fi
|
||||
|
||||
if [ ! $MAKENSIS ]; then
|
||||
echo "makensis not found. please install nsis"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
echo "Copying files to" $DEPLOYDIR
|
||||
|
||||
copy_files()
|
||||
{
|
||||
echo "copying" $1
|
||||
cp -a $1 $2
|
||||
}
|
||||
|
||||
copy_files $OPENSCADDIR/libraries $DEPLOYDIR
|
||||
copy_files $OPENSCADDIR/examples $DEPLOYDIR
|
||||
copy_files $OPENSCADDIR/scripts/installer.nsi $DEPLOYDIR
|
||||
copy_files $OPENSCADDIR/scripts/mingw-file-association.nsh $DEPLOYDIR
|
||||
|
||||
echo "running makensis in" $DEPLOYDIR
|
||||
|
||||
cd $DEPLOYDIR && makensis -V2 installer.nsi
|
||||
# cd $DEPLOYDIR && makensis installer.nsi # debug nsis
|
||||
|
||||
cd $OPENSCADDIR
|
||||
|
||||
INSTALLFILE=$DEPLOYDIR/openscad_setup.exe
|
||||
|
||||
if [ -e $INSTALLFILE ]; then
|
||||
echo "Build complete. Install file ready:"
|
||||
echo " " $INSTALLFILE
|
||||
else
|
||||
echo "Build failed. Sorry."
|
||||
fi
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
#!/bin/sh -e
|
||||
#
|
||||
# This script builds Openscad.exe for windows using the MXE cross build system.
|
||||
#
|
||||
# This script must be run from the OpenSCAD source root directory
|
||||
#
|
||||
# You must have already run the mingw-x-build-dependencies.sh script
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# ./scripts/mingw-x-build-openscad.sh
|
||||
#
|
||||
|
||||
OPENSCADDIR=$PWD
|
||||
if [ ! -f $OPENSCADDIR/openscad.pro ]; then
|
||||
echo "Must be run from the OpenSCAD source root directory"
|
||||
exit 0
|
||||
fi
|
||||
echo OPENSCADDIR: $OPENSCADDIR
|
||||
|
||||
. ./scripts/setenv-mingw-xbuild.sh
|
||||
|
||||
if [ ! -e $BASEDIR/lib ]; then
|
||||
echo "please run the mingw-x-build-dependencies.sh script first"
|
||||
fi
|
||||
|
||||
echo "entering $DEPLOYDIR"
|
||||
cd $DEPLOYDIR
|
||||
i686-pc-mingw32-qmake CONFIG+=mingw-cross-env ../openscad.pro
|
||||
#"make -j$NUMCPU" # causes parser_yacc.hpp errors
|
||||
make
|
||||
echo "leaving $DEPLOYDIR"
|
||||
|
||||
echo "entering $OPENSCADDIR"
|
||||
cd $OPENSCADDIR
|
||||
|
||||
OPENSCAD_EXE=$DEPLOYDIR/release/openscad.exe
|
||||
|
||||
if [ -e $OPENSCAD_EXE ] ; then
|
||||
echo Build finished. Executable file ready:
|
||||
echo " " $OPENSCAD_EXE
|
||||
else
|
||||
echo Cannot find $OPENSCAD_EXE. The build appears to have had an error.
|
||||
fi
|
||||
|
|
@ -60,6 +60,31 @@ if test -z "$VERSION"; then
|
|||
VERSION=`date "+%Y.%m.%d"`
|
||||
fi
|
||||
|
||||
|
||||
echo "Checking pre-requisitie..."
|
||||
|
||||
case $OS in
|
||||
LINXWIN)
|
||||
MAKENSIS=
|
||||
|
||||
if [ ! "`command -v makensis`" ]; then
|
||||
MAKENSIS=makensis
|
||||
elif [ ! "`command -v i686-pc-mingw32-makensis`" ]; then
|
||||
MAKENSIS=i686-pc-mingw32-makensis
|
||||
else
|
||||
echo "makensis not found. please install nsis"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! -e $OPENSCADDIR/libraries/MCAD/__init__.py ]; then
|
||||
echo "Downloading MCAD"
|
||||
git submodule init
|
||||
git submodule update
|
||||
fi
|
||||
|
||||
|
||||
echo "Building openscad-$VERSION $CONFIGURATION..."
|
||||
|
||||
case $OS in
|
||||
|
@ -134,12 +159,6 @@ fi
|
|||
|
||||
echo "Creating directory structure..."
|
||||
|
||||
if [ ! -e $OPENSCADDIR/libraries/MCAD/__init__.py ]; then
|
||||
echo "Downloading MCAD"
|
||||
git submodule init
|
||||
git submodule update
|
||||
fi
|
||||
|
||||
case $OS in
|
||||
MACOSX)
|
||||
EXAMPLESDIR=OpenSCAD.app/Contents/Resources/examples
|
||||
|
@ -168,8 +187,12 @@ fi
|
|||
if [ -n $LIBRARYDIR ]; then
|
||||
echo $LIBRARYDIR
|
||||
mkdir -p $LIBRARYDIR
|
||||
tar cf libraries.tar --exclude=.git*
|
||||
cd $LIBRARYDIR && tar xf $OPENSCADDIR/libraries.tar && cd $OPENSCADDIR
|
||||
# exclude the .git stuff from MCAD which is a git submodule.
|
||||
# tar is a relatively portable way to do exclusion
|
||||
rm libraries.tar
|
||||
tar cf libraries.tar --exclude=.git* libraries
|
||||
cd $LIBRARYDIR/.. && tar xf $OPENSCADDIR/libraries.tar && cd $OPENSCADDIR
|
||||
rm libraries.tar
|
||||
chmod -R u=rwx,go=r,+X $LIBRARYDIR/*
|
||||
fi
|
||||
|
||||
|
@ -198,13 +221,19 @@ case $OS in
|
|||
cp $TARGET/openscad.exe openscad-$VERSION
|
||||
rm -f OpenSCAD-$VERSION.zip
|
||||
"$ZIP" $ZIPARGS OpenSCAD-$VERSION.zip openscad-$VERSION
|
||||
rm -rf ./openscad-$VERSION
|
||||
cd $OPENSCADDIR
|
||||
echo "Binary package created"
|
||||
|
||||
echo "Creating installer"
|
||||
./scripts/mingw-x-build-installer.sh
|
||||
cp $DEPLOYDIR/openscad_setup.exe $DEPLOYDIR/OpenSCAD-$VERSION-Installer.exe
|
||||
cp ./scripts/installer.nsi $DEPLOYDIR/openscad-$VERSION
|
||||
cp ./scripts/mingw-file-association.nsh $DEPLOYDIR/openscad-$VERSION
|
||||
cd $DEPLOYDIR/openscad-$VERSION
|
||||
NSISDEBUG=-V2
|
||||
# NSISDEBUG= # leave blank for full log
|
||||
$MAKENSIS $NSISDEBUG installer.nsi
|
||||
cd $OPENSCADDIR
|
||||
cp $DEPLOYDIR/openscad-$VERSION/openscad_setup.exe $DEPLOYDIR/OpenSCAD-$VERSION-Installer.exe
|
||||
|
||||
echo
|
||||
echo "Binary created: $DEPLOYDIR/OpenSCAD-$VERSION.zip"
|
||||
echo "Installer created: $DEPLOYDIR/OpenSCAD-$VERSION-Installer.exe"
|
||||
|
|
|
@ -11,14 +11,20 @@
|
|||
# Also see http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Cross-compiling_for_Windows_on_Linux_or_Mac_OS_X
|
||||
#
|
||||
|
||||
export OPENSCADDIR=$PWD
|
||||
|
||||
if [ ! $BASEDIR ]; then
|
||||
export BASEDIR=$HOME/openscad_deps
|
||||
fi
|
||||
export OPENSCADDIR=$PWD
|
||||
export DEPLOYDIR=$OPENSCADDIR/mingw32
|
||||
|
||||
if [ ! $DEPLOYDIR ]; then
|
||||
export DEPLOYDIR=$OPENSCADDIR/mingw32
|
||||
fi
|
||||
|
||||
if [ ! $MXEDIR ]; then
|
||||
export MXEDIR=$BASEDIR/mxe
|
||||
fi
|
||||
|
||||
export PATH=$MXEDIR/usr/bin:$PATH
|
||||
|
||||
echo BASEDIR: $BASEDIR
|
||||
|
|
Loading…
Reference in New Issue