Merge branch 'master' of github.com:openscad/openscad
This commit is contained in:
commit
16026cfed7
9 changed files with 132 additions and 30 deletions
|
|
@ -13,10 +13,12 @@ boost {
|
|||
macx: DEFINES += __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0
|
||||
|
||||
# MXE cross build
|
||||
CONFIG(mingw-cross-env) {
|
||||
DEFINES += BOOST_STATIC
|
||||
CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) {
|
||||
DEFINES += BOOST_THREAD_USE_LIB
|
||||
DEFINES += Boost_USE_STATIC_LIBS
|
||||
!CONFIG(mingw-cross-env-shared) {
|
||||
DEFINES += BOOST_STATIC
|
||||
DEFINES += Boost_USE_STATIC_LIBS
|
||||
}
|
||||
BOOST_LINK_FLAGS = -lboost_thread_win32-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt -lboost_chrono-mt
|
||||
}
|
||||
|
||||
|
|
|
|||
2
cgal.pri
2
cgal.pri
|
|
@ -10,7 +10,7 @@ cgal {
|
|||
message("CGAL location: $$CGAL_DIR")
|
||||
}
|
||||
|
||||
CONFIG(mingw-cross-env) {
|
||||
CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) {
|
||||
LIBS += -lgmp -lmpfr -lCGAL
|
||||
QMAKE_CXXFLAGS += -frounding-math
|
||||
} else {
|
||||
|
|
|
|||
4
glew.pri
4
glew.pri
|
|
@ -10,7 +10,9 @@ glew {
|
|||
|
||||
unix:LIBS += -lGLEW
|
||||
CONFIG(mingw-cross-env): {
|
||||
DEFINES += GLEW_STATIC
|
||||
!CONFIG(mingw-cross-env-shared) {
|
||||
DEFINES += GLEW_STATIC
|
||||
}
|
||||
} else {
|
||||
win32:LIBS += -lglew32
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ isEmpty(GLIB2_LIBPATH) {
|
|||
GLIB2_LIBS = -L$$GLIB2_LIBPATH -lglib-2.0
|
||||
}
|
||||
|
||||
CONFIG(mingw-cross-env) {
|
||||
CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) {
|
||||
#message("mingw")
|
||||
isEmpty(GLIB2_INCLUDEPATH) {
|
||||
MXE_TARGET_DIR=$$(MXETARGETDIR)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
# cross compilation unix->win32
|
||||
# To use static linking, pass CONFIG+=mingw-cross-env to qmake
|
||||
# To use shared linking, pass CONFIG+=mingw-cross-env-shared to qmake
|
||||
CONFIG(mingw-cross-env) {
|
||||
LIBS += mingw-cross-env/lib/libglew32s.a
|
||||
LIBS += mingw-cross-env/lib/libglut.a
|
||||
|
|
@ -19,6 +21,17 @@ CONFIG(mingw-cross-env) {
|
|||
LIBS += mingw-cross-env/lib/libexpat.a
|
||||
LIBS += mingw-cross-env/lib/libintl.a
|
||||
LIBS += mingw-cross-env/lib/libiconv.a
|
||||
}
|
||||
|
||||
CONFIG(mingw-cross-env-shared) {
|
||||
# on MXE, the shared library .dll files are under 'bin' not 'lib'.
|
||||
QMAKE_LFLAGS += -L./mingw-cross-env/bin
|
||||
LIBS += -lglew32 -lglut -lopengl32 -lGLEW -lglu32
|
||||
LIBS += -lopencsg -lmpfr -lgmp -lCGAL
|
||||
LIBS += -lfontconfig -lfreetype -lharfbuzz -lbz2 -lexpat -lintl -liconv
|
||||
}
|
||||
|
||||
CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) {
|
||||
QMAKE_CXXFLAGS += -fpermissive
|
||||
WINSTACKSIZE = 8388608 # 8MB # github issue 116
|
||||
QMAKE_CXXFLAGS += -Wl,--stack,$$WINSTACKSIZE
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@ mdi {
|
|||
include(common.pri)
|
||||
|
||||
# mingw has to come after other items so OBJECT_DIRS will work properly
|
||||
CONFIG(mingw-cross-env) {
|
||||
CONFIG(mingw-cross-env)|CONFIG(mingw-cross-env-shared) {
|
||||
include(mingw-cross-env.pri)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -72,16 +72,17 @@ elif [[ $OSTYPE == "linux-gnu" ]]; then
|
|||
echo "Detected build-machine ARCH: $ARCH"
|
||||
fi
|
||||
|
||||
if [ "`echo $* | grep mingw32`" ]; then
|
||||
if [ "`echo $* | grep mingw`" ]; then
|
||||
OS=UNIX_CROSS_WIN
|
||||
ARCH=32
|
||||
echo Mingw-cross build using ARCH=32
|
||||
fi
|
||||
|
||||
if [ "`echo $* | grep mingw64`" ]; then
|
||||
OS=UNIX_CROSS_WIN
|
||||
ARCH=64
|
||||
echo Mingw-cross build using ARCH=64
|
||||
MXELIBTYPE=static
|
||||
if [ "`echo $* | grep mingw64`" ]; then
|
||||
ARCH=64
|
||||
fi
|
||||
if [ "`echo $* | grep shared`" ]; then
|
||||
MXELIBTYPE=shared
|
||||
fi
|
||||
echo Mingw-cross build using ARCH=$ARCH MXELIBTYPE=$MXELIBTYPE
|
||||
fi
|
||||
|
||||
if [ "`echo $* | grep snapshot`" ]; then
|
||||
|
|
@ -179,7 +180,7 @@ case $OS in
|
|||
QT_SELECT=5
|
||||
export QT_SELECT
|
||||
;;
|
||||
WIN)
|
||||
WIN)
|
||||
export QTDIR=/c/devmingw/qt2009.03
|
||||
export QTMAKESPEC=win32-g++
|
||||
export PATH=$PATH:/c/devmingw/qt2009.03/bin:/c/devmingw/qt2009.03/qt/bin
|
||||
|
|
@ -187,8 +188,8 @@ case $OS in
|
|||
ZIPARGS="a -tzip"
|
||||
TARGET=release
|
||||
;;
|
||||
UNIX_CROSS_WIN)
|
||||
. ./scripts/setenv-mingw-xbuild.sh $ARCH
|
||||
UNIX_CROSS_WIN)
|
||||
. ./scripts/setenv-mingw-xbuild.sh $ARCH $MXELIBTYPE
|
||||
TARGET=release
|
||||
ZIP="zip"
|
||||
ZIPARGS="-r -q"
|
||||
|
|
@ -198,7 +199,12 @@ esac
|
|||
|
||||
case $OS in
|
||||
UNIX_CROSS_WIN)
|
||||
cd $DEPLOYDIR && qmake VERSION=$VERSION OPENSCAD_COMMIT=$OPENSCAD_COMMIT CONFIG+="$CONFIG" CONFIG+=mingw-cross-env CONFIG-=debug ../openscad.pro
|
||||
cd $DEPLOYDIR
|
||||
MINGWCONFIG=mingw-cross-env
|
||||
if [ $MXELIBTYPE = "shared" ]; then
|
||||
MINGWCONFIG=mingw-cross-env-shared
|
||||
fi
|
||||
qmake VERSION=$VERSION OPENSCAD_COMMIT=$OPENSCAD_COMMIT CONFIG+="$CONFIG" CONFIG+=$MINGWCONFIG CONFIG-=debug ../openscad.pro
|
||||
cd $OPENSCADDIR
|
||||
;;
|
||||
*)
|
||||
|
|
@ -425,9 +431,78 @@ case $OS in
|
|||
INSTFILE=$DEPLOYDIR/OpenSCAD-$VERSION-x86-$ARCH-Installer.exe
|
||||
|
||||
#package
|
||||
if [ $MXELIBTYPE = "shared" ]; then
|
||||
flprefix=$DEPLOYDIR/mingw-cross-env/bin
|
||||
echo Copying dlls for shared library build
|
||||
echo from $flprefix
|
||||
echo to $DEPLOYDIR/$TARGET
|
||||
flist=
|
||||
# fl="$fl opengl.dll" # use Windows version?
|
||||
# fl="$fl libmpfr.dll" # does not exist
|
||||
fl="$fl libgmp-10.dll"
|
||||
fl="$fl libgmpxx-4.dll"
|
||||
fl="$fl libboost_filesystem-mt.dll"
|
||||
fl="$fl libboost_program_options-mt.dll"
|
||||
fl="$fl libboost_regex-mt.dll"
|
||||
fl="$fl libboost_chrono-mt.dll"
|
||||
fl="$fl libboost_system-mt.dll"
|
||||
fl="$fl libboost_thread_win32-mt.dll"
|
||||
fl="$fl libCGAL.dll"
|
||||
fl="$fl libCGAL_Core.dll"
|
||||
fl="$fl GLEW.dll"
|
||||
fl="$fl libglib-2.0-0.dll"
|
||||
fl="$fl libopencsg-1.dll"
|
||||
fl="$fl libharfbuzz-0.dll"
|
||||
# fl="$fl libharfbuzz-gobject-0.dll" # ????
|
||||
fl="$fl libfontconfig-1.dll"
|
||||
fl="$fl libexpat-1.dll"
|
||||
fl="$fl libbz2.dll"
|
||||
fl="$fl libintl-8.dll"
|
||||
fl="$fl libiconv-2.dll"
|
||||
fl="$fl libfreetype-6.dll"
|
||||
fl="$fl libpcre16-0.dll"
|
||||
fl="$fl zlib1.dll"
|
||||
fl="$fl libpng16-16.dll"
|
||||
fl="$fl icudt54.dll"
|
||||
fl="$fl icudt.dll"
|
||||
fl="$fl icuin.dll"
|
||||
fl="$fl libstdc++-6.dll"
|
||||
fl="$fl ../qt5/lib/qscintilla2.dll"
|
||||
fl="$fl ../qt5/bin/Qt5PrintSupport.dll"
|
||||
fl="$fl ../qt5/bin/Qt5Core.dll"
|
||||
fl="$fl ../qt5/bin/Qt5Gui.dll"
|
||||
fl="$fl ../qt5/bin/Qt5OpenGL.dll"
|
||||
# fl="$fl ../qt5/bin/QtSvg4.dll" # why is this here?
|
||||
fl="$fl ../qt5/bin/Qt5Widgets.dll"
|
||||
fl="$fl ../qt5/bin/Qt5PrintSupport.dll"
|
||||
fl="$fl ../qt5/bin/Qt5PrintSupport.dll"
|
||||
for dllfile in $fl; do
|
||||
if [ -e $flprefix/$dllfile ]; then
|
||||
echo $flprefix/$dllfile
|
||||
cp $flprefix/$dllfile $DEPLOYDIR/$TARGET/
|
||||
else
|
||||
echo cannot find $flprefix/$dllfile
|
||||
echo stopping build.
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
echo "Copying main binary .exe, .com, and dlls"
|
||||
echo "from $DEPLOYDIR/$TARGET"
|
||||
echo "to $DEPLOYDIR/openscad-$VERSION"
|
||||
TMPTAR=$DEPLOYDIR/tmpmingw.$ARCH.$MXELIBTYPE.tar
|
||||
cd $DEPLOYDIR
|
||||
cd $TARGET
|
||||
tar cvf $TMPTAR --exclude=winconsole.o .
|
||||
cd $DEPLOYDIR
|
||||
cd ./openscad-$VERSION
|
||||
tar xvf $TMPTAR
|
||||
cd $DEPLOYDIR
|
||||
rm -f $TMPTAR
|
||||
|
||||
|
||||
echo "Creating binary zip package"
|
||||
cp $TARGET/openscad.exe openscad-$VERSION
|
||||
cp $TARGET/openscad.com openscad-$VERSION
|
||||
rm -f OpenSCAD-$VERSION.x86-$ARCH.zip
|
||||
"$ZIP" $ZIPARGS $BINFILE openscad-$VERSION
|
||||
cd $OPENSCADDIR
|
||||
|
|
|
|||
|
|
@ -4,10 +4,12 @@
|
|||
#
|
||||
# Usage:
|
||||
#
|
||||
# source ./scripts/setenv-mingw-xbuild.sh # 32 bit build
|
||||
# source ./scripts/setenv-mingw-xbuild.sh 64 # 64 bit build
|
||||
# source ./scripts/setenv-mingw-xbuild.sh clean # Clean up exported variables
|
||||
# source ./scripts/setenv-mingw-xbuild.sh qt5 # use qt5 (experimental)
|
||||
# source ./scripts/setenv-mingw-xbuild.sh # 32 bit build
|
||||
# source ./scripts/setenv-mingw-xbuild.sh shared # 32 bit build, shared libs
|
||||
# source ./scripts/setenv-mingw-xbuild.sh 64 # 64 bit build
|
||||
# source ./scripts/setenv-mingw-xbuild.sh 64 shared # 64 bit build, shared libs
|
||||
# source ./scripts/setenv-mingw-xbuild.sh clean # Clean up exported variables
|
||||
# source ./scripts/setenv-mingw-xbuild.sh qt5 # use qt5 (experimental)
|
||||
#
|
||||
# Prerequisites:
|
||||
#
|
||||
|
|
@ -22,8 +24,14 @@ if [ ! $BASEDIR ]; then
|
|||
BASEDIR=$HOME/openscad_deps
|
||||
fi
|
||||
|
||||
DEPLOYDIR64=$OPENSCADDIR/mingw64.static
|
||||
DEPLOYDIR32=$OPENSCADDIR/mingw32.static
|
||||
MXELIBTYPE=static
|
||||
if [ "`echo $* | grep shared `" ]; then
|
||||
MXELIBTYPE=shared
|
||||
fi
|
||||
|
||||
|
||||
DEPLOYDIR64=$OPENSCADDIR/mingw64.$MXELIBTYPE
|
||||
DEPLOYDIR32=$OPENSCADDIR/mingw32.$MXELIBTYPE
|
||||
|
||||
if [ ! $DEPLOYDIR ]; then
|
||||
if [ "`echo $* | grep 64 `" ]; then
|
||||
|
|
@ -61,9 +69,9 @@ if [ ! -e $DEPLOYDIR ]; then
|
|||
fi
|
||||
|
||||
if [ "`echo $* | grep 64 `" ]; then
|
||||
MXETARGETDIR=$MXEDIR/usr/x86_64-w64-mingw32.static
|
||||
MXETARGETDIR=$MXEDIR/usr/x86_64-w64-mingw32.$MXELIBTYPE
|
||||
else
|
||||
MXETARGETDIR=$MXEDIR/usr/i686-w64-mingw32.static
|
||||
MXETARGETDIR=$MXEDIR/usr/i686-w64-mingw32.$MXELIBTYPE
|
||||
fi
|
||||
|
||||
if [ ! $MINGWX_SAVED_ORIGINAL_PATH ]; then
|
||||
|
|
@ -96,6 +104,7 @@ export OPENSCAD_LIBRARIES
|
|||
export BASEDIR
|
||||
export MXEDIR
|
||||
export MXETARGETDIR
|
||||
export MXELIBTYPE
|
||||
export DEPLOYDIR
|
||||
export PATH
|
||||
export MINGWX_SAVED_ORIGINAL_PATH
|
||||
|
|
@ -105,6 +114,7 @@ echo OPENSCAD_LIBRARIES: $OPENSCAD_LIBRARIES
|
|||
echo BASEDIR: $BASEDIR
|
||||
echo MXEDIR: $MXEDIR
|
||||
echo MXETARGETDIR: $MXETARGETDIR
|
||||
echo MXELIBTYPE: $MXELIBTYPE
|
||||
echo DEPLOYDIR: $DEPLOYDIR
|
||||
echo MXEQTSUBDIR: $MXEQTSUBDIR
|
||||
if [ "`echo $* | grep clean`" ]; then
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# get VERSION from system date
|
||||
|
||||
isEmpty(VERSION) {
|
||||
win32*:!mingw-cross-env {
|
||||
win32*:!mingw-cross-env:!mingw-cross-env-shared {
|
||||
#
|
||||
# Windows XP date command only has one argument, /t
|
||||
# and it can print the date in various localized formats.
|
||||
|
|
|
|||
Loading…
Reference in a new issue