diff options
author | Don Bright <hugh.m.bright@gmail.com> | 2011-12-17 18:56:50 (GMT) |
---|---|---|
committer | Don Bright <hugh.m.bright@gmail.com> | 2011-12-17 18:56:50 (GMT) |
commit | ee2cdb6489121ab5f77522053fd4142fb06a6f2b (patch) | |
tree | e388bfab01a0ffbd039132f319ba517799fd1f1f | |
parent | cae91b57cf839ee7b8902ca8b47efd1dd6875121 (diff) | |
parent | ef29553226ddb3f8f0565dbd6004d76e26c80ddc (diff) |
Merge remote branch 'upstream/master'
Conflicts:
openscad.pro
-rw-r--r-- | RELEASE_NOTES | 14 | ||||
-rw-r--r-- | bison.pri | 46 | ||||
-rw-r--r-- | boost.pri | 26 | ||||
-rw-r--r-- | doc/release-checklist.txt | 18 | ||||
-rw-r--r-- | eigen2.pri | 15 | ||||
-rw-r--r-- | flex.pri | 7 | ||||
-rw-r--r-- | openscad.pro | 11 | ||||
-rwxr-xr-x | scripts/publish-macosx.sh | 2 | ||||
-rwxr-xr-x | scripts/release-linux.sh | 2 | ||||
-rw-r--r-- | tests/CMakeLists.txt | 2 | ||||
-rw-r--r-- | tests/OffscreenContext.mm | 2 | ||||
-rw-r--r-- | win32.pri | 6 |
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 @@ -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 + } +} @@ -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 @@ -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 @@ -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"; @@ -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 +} |