Permalink
Browse files

Merge branch 'master' into lion

  • Loading branch information...
2 parents f07e298 + d87dd48 commit e05914641d4aafde58ad97a44faf536e9263461a @kintel kintel committed Aug 16, 2012
View
@@ -164,9 +164,23 @@ After that, follow the Compilation instructions below.
### Building for Windows
OpenSCAD for Windows is usually cross-compiled from Linux. If you wish to
-attempt an MSVC build, please see this site:
+attempt an MSVC build on Windows, please see this site:
http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/Building_on_Windows
+To cross-build, first make sure that you have development tools
+installed to get GCC. Then after you've cloned this git repository, run
+the script that sets up the environment variables.
+
+ source ./scripts/setenv-mingw-xbuild.sh
+
+Then run the script to download & compile all the prerequisite libraries above:
+
+ ./scripts/mingw-x-build-dependencies.sh
+
+Then skip the compilation instructions below. Instead, build an installer:
+
+ OSTYPE=mingw-cross-env ./scripts/release-common.sh
+
### Compilation
First, run 'qmake' from Qt4 to generate a Makefile. On some systems you need to
@@ -0,0 +1,6 @@
+WE the undersigned contributors, grant perpetual license for the
+original authors of OpenSCAD, Marius Kintel and Clifford Wolf, to
+change the license under which the code we have contributed to OpenSCAD is
+released, in future versions of OpenSCAD.
+
+Don Bright <hugh.m.bright@gmail.com> 2012
@@ -1,32 +1,44 @@
OpenSCAD Release Checklist
--------------------------
-o Update version
- scripts/release-linux.sh
+o Update VERSION environment variable
+
+ export VERSION=2012.08
+
+ It will be used by the commands below, as well as these files:
+
+ scripts/release-common.sh
scripts/publish-macosx.sh
- FIXME: Windows
+ scripts/publish-mingw-x.sh
o Update RELEASE_NOTES
o Tag release
- git tag "openscad-2011.12"
+ git tag "openscad-$VERSION"
o build source package
- scripts/git-archive-all.py --prefix=openscad-2011.12/ openscad-2011.12.src.tar.gz
+ scripts/git-archive-all.py --prefix=openscad-$VERSION/ openscad-$VERSION.src.tar.gz
o build binaries
- tar xzf openscad-2011.12.src.tar.gz
- cd openscad-2011.12
+ tar xzf openscad-$VERSION.src.tar.gz
+ cd openscad-$VERSION
Mac OS X
(For Qt-4.7.3: Remove /Developers/Applications/Qt/plugins/qmltooling)
- ./scripts/publish-macosx.sh -> OpenSCAD-2011.12.dmg
- Linux: FIXME 32 vs. 64 bit
- ./scripts/release-linux.sh
- Windows: FIXME 32 vs. 64 bit
+ ./scripts/publish-macosx.sh -> OpenSCAD-$VERSION.dmg
+ Linux:
+ 32-bit: run on a 32-bit machine or VM
+ 64-bit: run on a 64-bit machine or VM
+ ./scripts/release-common.sh -> openscad-$VERSION.x86-ARCH.tar.gz
+ (where ARCH will be detected and set to 32 or 64)
+ Windows mingw cross-build: FIXME 32 vs. 64 bit
+ ./scripts/publish-mingw-x.sh -> mingw32/Openscad-$VERSION.zip
+ -> mingw32/Openscad-$VERSION-Installer.exe
o FIXME: Run some tests
-o Set back version to being date-tagged: release-linux.sh, publish-macosx.sh, FIXME: Windows
+o Remove VERSION environment variable
+
+ export VERSION=
o git push --tags
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
@@ -11,21 +11,6 @@ CONFIG(mingw-cross-env) {
LIBS += mingw-cross-env/lib/libgmp.a
LIBS += mingw-cross-env/lib/libCGAL.a
QMAKE_CXXFLAGS += -fpermissive
-
-
- # Use different location for the cross-compiled binaries + .o files
- # This allows compiling unix build + mingw build in same tree
-
- DESTDIR=.
-
- Release:DESTDIR = release_mingw32
- Debug:DESTDIR = debug_mingw32
-
- OBJECTS_DIR = $$DESTDIR/objects
- MOC_DIR = $$DESTDIR/moc
- RCC_DIR = $$DESTDIR/rcc
- UI_DIR = $$DESTDIR/ui
-
}
View
@@ -154,6 +154,7 @@ RESOURCES = openscad.qrc
FORMS += src/MainWindow.ui \
src/Preferences.ui \
src/OpenCSGWarningDialog.ui \
+ src/AboutDialog.ui \
src/ProgressWidget.ui
HEADERS += src/version_check.h \
@@ -168,6 +169,7 @@ HEADERS += src/version_check.h \
src/MainWindow.h \
src/Preferences.h \
src/OpenCSGWarningDialog.h \
+ src/AboutDialog.h \
src/builtin.h \
src/context.h \
src/csgterm.h \
View
@@ -4,5 +4,6 @@
<file>icons/prefsAdvanced.png</file>
<file>icons/prefs3DView.png</file>
<file>icons/prefsEditor.png</file>
+ <file>icons/flattr.png</file>
</qresource>
</RCC>
@@ -1,13 +1,13 @@
-!include "FileAssociation.nsh"
+!include "mingw-file-association.nsh"
Name "OpenSCAD"
OutFile "openscad_setup.exe"
InstallDir $PROGRAMFILES\OpenSCAD
DirText "This will install OpenSCAD on your computer. Choose a directory"
Section "install"
SetOutPath $INSTDIR
File openscad.exe
-File /r examples
-File /r libraries
+File /r /x mingw-cross-env examples
+File /r /x mingw-cross-env libraries
${registerExtension} "$INSTDIR\openscad.exe" ".scad" "OpenSCAD_File"
CreateShortCut $SMPROGRAMS\OpenSCAD.lnk $INSTDIR\openscad.exe
WriteUninstaller $INSTDIR\Uninstall.exe
@@ -1,4 +1,9 @@
#!/bin/sh -e
+
+# test_pretty_print copyright 2012 don bright. released under the GPL 2, or
+# later, as described in the file named 'COPYING' in OpenSCAD's project root.
+# permission to change this license is given to Marius Kintel & Clifford Wolf
+
#
# This script builds all library dependencies of OpenSCAD for Linux
#
@@ -0,0 +1,225 @@
+/*
+nsis.sourceforge.net COPYRIGHT
+Copyright (C) 1995-2009 Contributors
+
+Note the 'edit' page of the wiki at nsis.sourceforge.net specifically
+states the following:
+
+"All contributions sent to this wiki are generally considered to be in
+the zlib/libpng license (see License for details)."
+
+The NSIS 'license' link on the wiki states the following:
+
+"All NSIS source code, plug-ins, documentation, examples, header files
+and graphics, with the exception of the compression modules and where
+otherwise noted, are licensed under the zlib/libpng license."
+
+http://nsis.sourceforge.net/File_Assocation lists these authors:
+
+Author: Vytautas (talk, contrib)
+Author: intersol (talk, contrib)
+Author: chefkoch (talk, contrib)
+
+ZLIB/LIBPNG LICENSE
+-------------------
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+*/
+
+/*
+_____________________________________________________________________________
+
+ File Association
+_____________________________________________________________________________
+
+ Based on code taken from http://nsis.sourceforge.net/File_Association
+
+ Usage in script:
+ 1. !include "FileAssociation.nsh"
+ 2. [Section|Function]
+ ${FileAssociationFunction} "Param1" "Param2" "..." $var
+ [SectionEnd|FunctionEnd]
+
+ FileAssociationFunction=[RegisterExtension|UnRegisterExtension]
+
+_____________________________________________________________________________
+
+ ${RegisterExtension} "[executable]" "[extension]" "[description]"
+
+"[executable]" ; executable which opens the file format
+ ;
+"[extension]" ; extension, which represents the file format to open
+ ;
+"[description]" ; description for the extension. This will be display in Windows Explorer.
+ ;
+
+
+ ${UnRegisterExtension} "[extension]" "[description]"
+
+"[extension]" ; extension, which represents the file format to open
+ ;
+"[description]" ; description for the extension. This will be display in Windows Explorer.
+ ;
+
+_____________________________________________________________________________
+
+ Macros
+_____________________________________________________________________________
+
+ Change log window verbosity (default: 3=no script)
+
+ Example:
+ !include "FileAssociation.nsh"
+ !insertmacro RegisterExtension
+ ${FileAssociation_VERBOSE} 4 # all verbosity
+ !insertmacro UnRegisterExtension
+ ${FileAssociation_VERBOSE} 3 # no script
+*/
+
+
+!ifndef FileAssociation_INCLUDED
+!define FileAssociation_INCLUDED
+
+!include Util.nsh
+
+!verbose push
+!verbose 3
+!ifndef _FileAssociation_VERBOSE
+ !define _FileAssociation_VERBOSE 3
+!endif
+!verbose ${_FileAssociation_VERBOSE}
+!define FileAssociation_VERBOSE `!insertmacro FileAssociation_VERBOSE`
+!verbose pop
+
+!macro FileAssociation_VERBOSE _VERBOSE
+ !verbose push
+ !verbose 3
+ !undef _FileAssociation_VERBOSE
+ !define _FileAssociation_VERBOSE ${_VERBOSE}
+ !verbose pop
+!macroend
+
+
+
+!macro RegisterExtensionCall _EXECUTABLE _EXTENSION _DESCRIPTION
+ !verbose push
+ !verbose ${_FileAssociation_VERBOSE}
+ Push `${_DESCRIPTION}`
+ Push `${_EXTENSION}`
+ Push `${_EXECUTABLE}`
+ ${CallArtificialFunction} RegisterExtension_
+ !verbose pop
+!macroend
+
+!macro UnRegisterExtensionCall _EXTENSION _DESCRIPTION
+ !verbose push
+ !verbose ${_FileAssociation_VERBOSE}
+ Push `${_EXTENSION}`
+ Push `${_DESCRIPTION}`
+ ${CallArtificialFunction} UnRegisterExtension_
+ !verbose pop
+!macroend
+
+
+
+!define RegisterExtension `!insertmacro RegisterExtensionCall`
+!define un.RegisterExtension `!insertmacro RegisterExtensionCall`
+
+!macro RegisterExtension
+!macroend
+
+!macro un.RegisterExtension
+!macroend
+
+!macro RegisterExtension_
+ !verbose push
+ !verbose ${_FileAssociation_VERBOSE}
+
+ Exch $R2 ;exe
+ Exch
+ Exch $R1 ;ext
+ Exch
+ Exch 2
+ Exch $R0 ;desc
+ Exch 2
+ Push $0
+ Push $1
+
+ ReadRegStr $1 HKCR $R1 "" ; read current file association
+ StrCmp "$1" "" NoBackup ; is it empty
+ StrCmp "$1" "$R0" NoBackup ; is it our own
+ WriteRegStr HKCR $R1 "backup_val" "$1" ; backup current value
+NoBackup:
+ WriteRegStr HKCR $R1 "" "$R0" ; set our file association
+
+ ReadRegStr $0 HKCR $R0 ""
+ StrCmp $0 "" 0 Skip
+ WriteRegStr HKCR "$R0" "" "$R0"
+ WriteRegStr HKCR "$R0\shell" "" "open"
+ WriteRegStr HKCR "$R0\DefaultIcon" "" "$R2,0"
+Skip:
+ WriteRegStr HKCR "$R0\shell\open\command" "" '"$R2" "%1"'
+ WriteRegStr HKCR "$R0\shell\edit" "" "Edit $R0"
+ WriteRegStr HKCR "$R0\shell\edit\command" "" '"$R2" "%1"'
+
+ Pop $1
+ Pop $0
+ Pop $R2
+ Pop $R1
+ Pop $R0
+
+ !verbose pop
+!macroend
+
+
+
+!define UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
+!define un.UnRegisterExtension `!insertmacro UnRegisterExtensionCall`
+
+!macro UnRegisterExtension
+!macroend
+
+!macro un.UnRegisterExtension
+!macroend
+
+!macro UnRegisterExtension_
+ !verbose push
+ !verbose ${_FileAssociation_VERBOSE}
+
+ Exch $R1 ;desc
+ Exch
+ Exch $R0 ;ext
+ Exch
+ Push $0
+ Push $1
+
+ ReadRegStr $1 HKCR $R0 ""
+ StrCmp $1 $R1 0 NoOwn ; only do this if we own it
+ ReadRegStr $1 HKCR $R0 "backup_val"
+ StrCmp $1 "" 0 Restore ; if backup="" then delete the whole key
+ DeleteRegKey HKCR $R0
+ Goto NoOwn
+
+Restore:
+ WriteRegStr HKCR $R0 "" $1
+ DeleteRegValue HKCR $R0 "backup_val"
+ DeleteRegKey HKCR $R1 ;Delete key with association name settings
+
+NoOwn:
+
+ Pop $1
+ Pop $0
+ Pop $R1
+ Pop $R0
+
+ !verbose pop
+!macroend
+
+!endif # !FileAssociation_INCLUDED
+
Oops, something went wrong.

0 comments on commit e059146

Please sign in to comment.