summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RELEASE_NOTES14
-rw-r--r--bison.pri46
-rw-r--r--boost.pri26
-rw-r--r--doc/release-checklist.txt18
-rw-r--r--eigen2.pri15
-rw-r--r--flex.pri7
-rw-r--r--openscad.pro11
-rwxr-xr-xscripts/publish-macosx.sh2
-rwxr-xr-xscripts/release-linux.sh2
-rw-r--r--tests/CMakeLists.txt2
-rw-r--r--tests/OffscreenContext.mm2
-rw-r--r--win32.pri6
12 files changed, 99 insertions, 52 deletions
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 21adc18..ac89511 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,24 +1,24 @@
-OpenSCAD 20xx.yy
+OpenSCAD 2011.12
================
Features:
o The MCAD library is now bundled with OpenSCAD
+o Added len() function. Takes one vector or string parameter and returns its length.
+o The index operator [] now works on strings
+o The version() function will return the OpenSCAD version as a vector, e.g. [2011, 09]
+o The version_num() function will return the OpenSCAD version as a number, e.g. 20110923
o hull() Now supports 3D objects
o hull() with 2D object can now use for loops and boolean operations as children
-o Added import and export of the OFF file format
o New import() statement reads the correct file format based on the filename extension
(.stl, .dxf and .off is supported)
o The color() statement now supports an alpha parameter, e.g. color(c=[1,0,0], alpha=0.4)
o The color() statement now supports specifying colors as strings, e.g. color("Red")
o if()/else() and the ternary operator can now take any value type as parameter. false, 0, empty string and empty vector or illegal value type will evaluate as false, everything else as true.
o Strings can now be lexographically compared using the <, <=, >, >= operators
-o The version() function will return the OpenSCAD version as a vector, e.g. [2011, 09]
-o The version_num() function will return the OpenSCAD version as a number, e.g. 20110923
o Added PI constant.
-o Now uses standard shortcuts for save, reload and quit on Linux and Windows. F2/F3 will still work but is deprecated.
o Number literals in scientific notation are now accepted by the parser
-o Added len() function. Takes one vector or string parameter and returns its length.
-o The index operator [] now works on strings
+o Added import and export of the OFF file format
+o Now uses standard shortcuts for save, reload and quit on Linux and Windows. F2/F3 will still work but is deprecated.
Bugfixes:
o square() crashed if any of the dimensions were zero
diff --git a/bison.pri b/bison.pri
index b1f3292..7d3bed0 100644
--- a/bison.pri
+++ b/bison.pri
@@ -1,17 +1,29 @@
-#setup bison for qmake
-bison.name = Bison ${QMAKE_FILE_IN}
-bison.input = BISONSOURCES
-bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp
-bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN}
-bison.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
-bison.CONFIG += target_predeps
-bison.variable_out = GENERATED_SOURCES
-silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
-QMAKE_EXTRA_COMPILERS += bison
-bison_header.input = BISONSOURCES
-bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
-bison_header.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN}
-bison_header.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
-bison_header.CONFIG += target_predeps no_link
-silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
-QMAKE_EXTRA_COMPILERS += bison_header
+win32 {
+ bison.name = Bison ${QMAKE_FILE_IN}
+ bison.input = BISONSOURCES
+ bison.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp
+ bison.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN}
+ bison.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
+ bison.CONFIG += target_predeps
+ bison.variable_out = GENERATED_SOURCES
+ silent:bison.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
+ QMAKE_EXTRA_COMPILERS += bison
+ bison_header.input = BISONSOURCES
+ bison_header.output = ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
+ bison_header.commands = bison -d -p ${QMAKE_FILE_BASE} -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.cpp ${QMAKE_FILE_IN}
+ bison_header.commands += && mv ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.hpp ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}_yacc.h
+ bison_header.CONFIG += target_predeps no_link
+ silent:bison_header.commands = @echo Bison ${QMAKE_FILE_IN} && $$bison.commands
+ QMAKE_EXTRA_COMPILERS += bison_header
+}
+
+unix:freebsd-g++ {
+ # on bsd /usr/bin/bison is outdated, dont use it
+ QMAKE_YACC = /usr/local/bin/bison
+}
+
+unix:linux* {
+ exists(/usr/bin/bison) {
+ QMAKE_YACC = /usr/bin/bison
+ }
+}
diff --git a/boost.pri b/boost.pri
index 46cbb83..c2f5d8e 100644
--- a/boost.pri
+++ b/boost.pri
@@ -9,18 +9,32 @@ boost {
win32:QMAKE_LIBDIR += -L$$BOOST_DIR/lib
}
+ win32:!CONFIG(mingw-cross-env) {
+ LIBS += -llibboost_thread-vc90-mt-s-1_46_1 -llibboost_program_options-vc90-mt-s-1_46_1
+ }
+
CONFIG(mingw-cross-env) {
DEFINES += BOOST_STATIC
DEFINES += BOOST_THREAD_USE_LIB
DEFINES += Boost_USE_STATIC_LIBS
LIBS += -lboost_thread_win32-mt -lboost_program_options-mt
- } else {
- win32 {
- LIBS += -llibboost_thread-vc90-mt-s-1_46_1 -llibboost_program_options-vc90-mt-s-1_46_1
- } else {
- # some platforms have only '-mt' versions. uncomment if needed.
- # LIBS += -lboost_thread-mt -lboost_program_options-mt
+ }
+
+ unix {
+ BMT_TEST1 = /usr/lib64/libboost*thread-mt*
+ BMT_TEST2 = /usr/lib/libboost*thread-mt*
+ BMT_TEST3 = $$BOOST_DIR/lib/libboost*thread-mt*
+
+ exists($$BMT_TEST1)|exists($$BMT_TEST2)|exists($$BMT_TEST3) {
+ LIBS += -lboost_thread-mt -lboost_program_options-mt
+ BOOST_IS_MT = true
+ }
+ }
+
+ unix|macx {
+ isEmpty(BOOST_IS_MT) {
LIBS += -lboost_thread -lboost_program_options
}
}
+
}
diff --git a/doc/release-checklist.txt b/doc/release-checklist.txt
index a455ca9..2ff9593 100644
--- a/doc/release-checklist.txt
+++ b/doc/release-checklist.txt
@@ -9,24 +9,24 @@ o Update version
o Update RELEASE_NOTES
o Tag release
- git tag "openscad-2011.01"
+ git tag "openscad-2011.12"
o build source package
- git archive --format=tar openscad-2011.01 --prefix=openscad-2011.01/ | gzip > openscad-2011.01.src.tar.gz
+ git archive --format=tar openscad-2011.12 --prefix=openscad-2011.12/ | gzip > openscad-2011.12.src.tar.gz
o build binaries
- tar xzf openscad-2011.01.src.tar.gz
- cd openscad-2011.01
+ tar xzf openscad-2011.12.src.tar.gz
+ cd openscad-2011.12
Mac OS X
- For Qt-4.7.3: Remove /Developers/Applications/Qt/plugins/qmltooling
- ./scripts/publish-macosx.sh -> OpenSCAD-2011.01.dmg
+ (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
o FIXME: Run some tests
-o Set back version: release-linux.sh, publish-macosx.sh, FIXME: Windows
+o Set back version to being date-tagged: release-linux.sh, publish-macosx.sh, FIXME: Windows
o git push --tags
@@ -37,3 +37,7 @@ o Upload
o Update web page
o Write email to mailing list
+o Update external resources:
+ - http://en.wikipedia.org/wiki/OpenSCAD
+o Notify package managers
+ - Ubuntu: https://launchpad.net/~chrysn
diff --git a/eigen2.pri b/eigen2.pri
index 8b955e3..44649f8 100644
--- a/eigen2.pri
+++ b/eigen2.pri
@@ -3,19 +3,22 @@ eigen2 {
# EIGEN2DIR env. variable
EIGEN2_DIR = $$(EIGEN2DIR)
!isEmpty(EIGEN2_DIR) {
- INCLUDEPATH += $$EIGEN2_DIR
+ EIGEN2_INCLUDEPATH = $$EIGEN2_DIR
}
else {
CONFIG(mingw-cross-env) {
- INCLUDEPATH += mingw-cross-env/include/eigen2
+ EIGEN2_INCLUDEPATH = mingw-cross-env/include/eigen2
} else {
- freebsd-g++: INCLUDEPATH += /usr/local/include/eigen2
- macx: INCLUDEPATH += /opt/local/include/eigen2
- !macx:!freebsd-g++:INCLUDEPATH += /usr/include/eigen2
+ freebsd-g++: EIGEN2_INCLUDEPATH *= /usr/local/include/eigen2
+ macx: EIGEN2_INCLUDEPATH *= /opt/local/include/eigen2
+ !macx:!freebsd-g++:!win32:EIGEN2_INCLUDEPATH *= /usr/include/eigen2
}
}
- # disable Eigen SIMD optimizations for non-Mac OSX
+ # eigen2 being under 'include/eigen2' needs special prepending
+ QMAKE_INCDIR_QT = $$EIGEN2_INCLUDEPATH $$QMAKE_INCDIR_QT
+
+ # disable Eigen SIMD optimizations for platforms where it breaks compilation
!macx {
!freebsd-g++ {
QMAKE_CXXFLAGS += -DEIGEN_DONT_ALIGN
diff --git a/flex.pri b/flex.pri
index ef0b742..2e1559e 100644
--- a/flex.pri
+++ b/flex.pri
@@ -11,5 +11,10 @@ win32 {
unix:freebsd-g++ {
QMAKE_LEX = /usr/local/bin/flex
- QMAKE_YACC = /usr/local/bin/bison
+}
+
+unix:linux* {
+ exists(/usr/bin/flex) {
+ QMAKE_LEX = /usr/bin/flex
+ }
}
diff --git a/openscad.pro b/openscad.pro
index 60870be..e38251a 100644
--- a/openscad.pro
+++ b/openscad.pro
@@ -40,7 +40,7 @@ INCLUDEPATH += src
# Used when manually installing 3rd party libraries
OPENSCAD_LIBDIR = $$(OPENSCAD_LIBRARIES)
!isEmpty(OPENSCAD_LIBDIR) {
- INCLUDEPATH = $$OPENSCAD_LIBDIR/include $$INCLUDEPATH
+ QMAKE_INCDIR_QT = $$OPENSCAD_LIBDIR/include $$QMAKE_INCDIR_QT
QMAKE_LIBDIR = $$OPENSCAD_LIBDIR/lib $$QMAKE_LIBDIR
}
else {
@@ -77,6 +77,15 @@ win32 {
CONFIG += qt
QT += opengl
+# Fedora Linux + DSO fix
+linux*:exists(/usr/lib64/libGLU*)|linux*:exists(/usr/lib/libGLU*) {
+ LIBS += -lGLU
+}
+
+CONFIG(mingw-cross-env) {
+ include(mingw-cross-env.pri)
+}
+
# Application configuration
macx:CONFIG += mdi
CONFIG += cgal
diff --git a/scripts/publish-macosx.sh b/scripts/publish-macosx.sh
index e559cb8..a2451fa 100755
--- a/scripts/publish-macosx.sh
+++ b/scripts/publish-macosx.sh
@@ -1,7 +1,7 @@
#!/bin/sh
VERSION=`date "+%Y.%m.%d"`
-#VERSION=2011.06
+#VERSION=2011.12
# Turn off ccache, just for safety
PATH=${PATH//\/opt\/local\/libexec\/ccache:}
diff --git a/scripts/release-linux.sh b/scripts/release-linux.sh
index 7675c07..e1eb001 100755
--- a/scripts/release-linux.sh
+++ b/scripts/release-linux.sh
@@ -2,7 +2,7 @@
# WARNING: This script might only work with the authors setup...
VERSION=`date "+%Y.%m.%d"`
-#VERSION=2011.06
+#VERSION=2011.12
set -ex
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index edd89aa..986076e 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -12,7 +12,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}")
# Build debug build as default
if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE Debug)
+ set(CMAKE_BUILD_TYPE RelWithDebInfo)
endif()
if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
diff --git a/tests/OffscreenContext.mm b/tests/OffscreenContext.mm
index ea46275..990d3a4 100644
--- a/tests/OffscreenContext.mm
+++ b/tests/OffscreenContext.mm
@@ -32,7 +32,7 @@ std::string offscreen_context_getinfo(OffscreenContext *ctx)
Gestalt(gestaltSystemVersionMinor, &minorVersion);
Gestalt(gestaltSystemVersionBugFix, &bugFixVersion);
- char *arch = "unknown";
+ const char *arch = "unknown";
if (sizeof(int*) == 4) arch = "32-bit";
else if (sizeof(int*) == 8) arch = "64-bit";
diff --git a/win32.pri b/win32.pri
index 7a020d7..bb41b09 100644
--- a/win32.pri
+++ b/win32.pri
@@ -1,6 +1,6 @@
-# win32-specific general settings
+# win32-specific MSVC compiler general settings
-win32 {
+win32*msvc* {
#configure additional directories
INCLUDEPATH += $$(MPIRDIR)
INCLUDEPATH += $$(MPFRDIR)
@@ -17,4 +17,4 @@ win32 {
# lexer uses strdup() & other POSIX stuff
QMAKE_CXXFLAGS += -D_CRT_NONSTDC_NO_DEPRECATE
-} \ No newline at end of file
+}
contact: Jan Huwald // Impressum