mirror of https://github.com/vitalif/openscad
Merge remote-tracking branch 'upstream/master' into scalemarkers
merging the upstream/master branch into my working branch prior to syncing with my fork 12/26/2014 22:07 CST tim deaganmaster
commit
b6dcea12d0
|
@ -16,6 +16,7 @@ parser_yacc.h
|
|||
/locale/*/*/*.mo
|
||||
/locale/POTFILES
|
||||
/nbproject
|
||||
/openscad.pro.user
|
||||
/openscad
|
||||
/tests/openscad_nogui
|
||||
testdata/scad/features/import_dxf-tests.scad
|
||||
|
|
|
@ -212,15 +212,16 @@ complete, build OpenSCAD and package it to an installer:
|
|||
If you wish you can only build the openscad.exe binary:
|
||||
|
||||
cd mingw32
|
||||
qmake .. CONFIG+=mingw-cross-env
|
||||
qmake ../openscad.pro CONFIG+=mingw-cross-env
|
||||
make
|
||||
|
||||
For a 64-bit Windows cross-build, replace 32 with 64 in the above instructions.
|
||||
|
||||
### Compilation
|
||||
|
||||
First, run 'qmake' from Qt4 to generate a Makefile. On some systems you need to
|
||||
run 'qmake4', 'qmake-qt4' or something alike to run the qt4 version of the tool.
|
||||
First, run 'qmake openscad.pro' from Qt4 to generate a Makefile. On some systems
|
||||
you need to run 'qmake4', 'qmake-qt4' or something alike to run the qt4 version
|
||||
of the tool.
|
||||
|
||||
Then run make. Finally you might run 'make install' as root or simply copy the
|
||||
'openscad' binary (OpenSCAD.app on Mac OS X) to the bin directory of your choice.
|
||||
|
|
10
boost.pri
10
boost.pri
|
@ -11,14 +11,20 @@ boost {
|
|||
|
||||
# See https://svn.boost.org/trac/boost/ticket/6219
|
||||
macx: DEFINES += __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0
|
||||
|
||||
# MXE cross build
|
||||
CONFIG(mingw-cross-env) {
|
||||
DEFINES += BOOST_STATIC
|
||||
DEFINES += BOOST_THREAD_USE_LIB
|
||||
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
|
||||
}
|
||||
}
|
||||
|
||||
isEmpty(BOOST_LINK_FLAGS):win* {
|
||||
# MSYS2
|
||||
isEmpty(BOOST_LINK_FLAGS):win32-g++ {
|
||||
DEFINES += BOOST_STATIC
|
||||
DEFINES += BOOST_THREAD_USE_LIB
|
||||
DEFINES += Boost_USE_STATIC_LIBS
|
||||
BOOST_LINK_FLAGS = -lboost_thread-mt -lboost_program_options-mt -lboost_filesystem-mt -lboost_system-mt -lboost_regex-mt
|
||||
}
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"caret" : {
|
||||
"width" : 2,
|
||||
"foreground" : "#000000",
|
||||
"line-background" : "#f0f0f0"
|
||||
"line-background" : "#f8f8f8"
|
||||
},
|
||||
"colors" : {
|
||||
"keyword1" : "Green",
|
||||
|
@ -23,12 +23,12 @@
|
|||
"whitespace-foreground" : "#272822",
|
||||
"selection-foreground" : "#ffffff",
|
||||
"selection-background" : "#4a90d9",
|
||||
"margin-background" : "#ccc",
|
||||
"margin-foreground" : "#111",
|
||||
"matched-brace-background" : "#333",
|
||||
"matched-brace-foreground" : "#fff",
|
||||
"unmatched-brace-background" : "#333",
|
||||
"unmatched-brace-foreground" : "#fff",
|
||||
"margin-background" : "#f8f8f8",
|
||||
"margin-foreground" : "#000000",
|
||||
"matched-brace-background" : "#c7f6cb",
|
||||
"matched-brace-foreground" : "Blue",
|
||||
"unmatched-brace-background" : "#ffcdcc",
|
||||
"unmatched-brace-foreground" : "Blue",
|
||||
"error-marker" : "#ff0000",
|
||||
"error-indicator" : "#60ff0000",
|
||||
"error-indicator-outline" : "#ff000000",
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
"text" : "#f8f8f2",
|
||||
"caret" : {
|
||||
"width" : 2,
|
||||
"foreground" : "#f8f8f0",
|
||||
"foreground" : "#f8f8f2",
|
||||
"line-background" : "#49483e"
|
||||
},
|
||||
"colors" : {
|
||||
|
@ -26,9 +26,9 @@
|
|||
"margin-background" : "#3e3d32",
|
||||
"margin-foreground" : "#f8f8f2",
|
||||
"matched-brace-background" : "#606060",
|
||||
"matched-brace-foreground" : "#f8f8f2",
|
||||
"unmatched-brace-background" : "#dc322f",
|
||||
"unmatched-brace-foreground" : "#f8f8f2",
|
||||
"matched-brace-foreground" : "#ffff00",
|
||||
"unmatched-brace-background" : "#b06060",
|
||||
"unmatched-brace-foreground" : "#ffff00",
|
||||
"error-marker" : "#ff0000",
|
||||
"error-indicator" : "#80ffe0e0",
|
||||
"error-indicator-outline" : "#ff000000",
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
"selection-background" : "#657b83",
|
||||
"margin-background" : "#002b36",
|
||||
"margin-foreground" : "#839496",
|
||||
"matched-brace-background" : "#93a1a1",
|
||||
"matched-brace-foreground" : "#586e75",
|
||||
"unmatched-brace-background" : "#dc322f",
|
||||
"unmatched-brace-foreground" : "#fdf6e3",
|
||||
"matched-brace-background" : "#0c4e22",
|
||||
"matched-brace-foreground" : "#fff070",
|
||||
"unmatched-brace-background" : "#92211f",
|
||||
"unmatched-brace-foreground" : "#fff070",
|
||||
"error-marker" : "#ff0000",
|
||||
"error-indicator" : "#90ff8080",
|
||||
"error-indicator-outline" : "#ff000000",
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
"selection-background" : "#657b83",
|
||||
"margin-background" : "#eee8d5",
|
||||
"margin-foreground" : "#657b83",
|
||||
"matched-brace-background" : "#93a1a1",
|
||||
"matched-brace-foreground" : "#586e75",
|
||||
"unmatched-brace-background" : "#ed8987",
|
||||
"unmatched-brace-foreground" : "#fdf6e3",
|
||||
"matched-brace-background" : "#c7f6cb",
|
||||
"matched-brace-foreground" : "#cb4b16",
|
||||
"unmatched-brace-background" : "#ffcdcc",
|
||||
"unmatched-brace-foreground" : "#cb4b16",
|
||||
"error-marker" : "#ff0000",
|
||||
"error-indicator" : "#80ff0000",
|
||||
"error-indicator-outline" : "#ff000000",
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"name" : "Tomorrow",
|
||||
"index" : 1500,
|
||||
"paper" : "#f0f0f0",
|
||||
"paper" : "#f8f8f8",
|
||||
"text" : "#4d4d4c",
|
||||
"caret" : {
|
||||
"width" : 2,
|
||||
|
@ -19,13 +19,13 @@
|
|||
"number" : "#c82829",
|
||||
"string" : "#718c00",
|
||||
"operator" : "#3e999f",
|
||||
"whitespace-background" : "#f0f0f0",
|
||||
"whitespace-background" : "#f8f8f8",
|
||||
"whitespace-foreground" : "#4d4d4c",
|
||||
"selection-foreground" : "#4d4d4c",
|
||||
"selection-background" : "#d6d6d6",
|
||||
"margin-background" : "#f0f0f0",
|
||||
"margin-background" : "#f8f8f8",
|
||||
"margin-foreground" : "#4d4d4c",
|
||||
"matched-brace-background" : "#d4d4d4",
|
||||
"matched-brace-background" : "#c7f6cb",
|
||||
"matched-brace-foreground" : "#4d4d4c",
|
||||
"unmatched-brace-background" : "#ffcdcc",
|
||||
"unmatched-brace-foreground" : "#4d4d4c",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"show-in-gui" : true,
|
||||
|
||||
"colors" : {
|
||||
"background" : "#f0f0f0",
|
||||
"background" : "#f8f8f8",
|
||||
"opencsg-face-front" : "#4271ae",
|
||||
"opencsg-face-back" : "#f5871f",
|
||||
"cgal-face-front" : "#3e999f",
|
||||
|
|
|
@ -280,11 +280,6 @@ if [[ $? != 0 ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
echo "Updating language files..."
|
||||
|
||||
cd $OPENSCADDIR
|
||||
./scripts/translation-update.sh
|
||||
|
||||
echo "Building test suite..."
|
||||
|
||||
if [ $BUILD_TESTS ]; then
|
||||
|
|
|
@ -25,7 +25,6 @@ static std::string lookupResourcesPath()
|
|||
fs::path resourcedir(applicationpath);
|
||||
PRINTDB("Looking up resource folder with application path '%s'", resourcedir.c_str());
|
||||
|
||||
#ifndef WIN32
|
||||
#ifdef __APPLE__
|
||||
const char *searchpath[] = {
|
||||
"../Resources", // Resources can be bundled on Mac.
|
||||
|
@ -34,7 +33,15 @@ static std::string lookupResourcesPath()
|
|||
NULL
|
||||
};
|
||||
#else
|
||||
const char *searchpath[] = {
|
||||
#ifdef WIN32
|
||||
const char *searchpath[] = {
|
||||
".", // Release location
|
||||
RESOURCE_FOLDER("../share/openscad"), // MSYS2 location
|
||||
"..", // Dev location
|
||||
NULL
|
||||
};
|
||||
#else
|
||||
const char *searchpath[] = {
|
||||
RESOURCE_FOLDER("../share/openscad"),
|
||||
RESOURCE_FOLDER("../../share/openscad"),
|
||||
".",
|
||||
|
@ -43,6 +50,7 @@ static std::string lookupResourcesPath()
|
|||
NULL
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
fs::path tmpdir;
|
||||
for (int a = 0;searchpath[a] != NULL;a++) {
|
||||
|
@ -57,7 +65,6 @@ static std::string lookupResourcesPath()
|
|||
break;
|
||||
}
|
||||
}
|
||||
#endif // !WIN32
|
||||
|
||||
// resourcedir defaults to applicationPath
|
||||
std::string result = boosty::stringy(boosty::canonical(resourcedir));
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include "highlighter.h"
|
||||
#include "export.h"
|
||||
#include "builtin.h"
|
||||
#include "memory.h"
|
||||
#include "expression.h"
|
||||
#include "progress.h"
|
||||
#include "dxfdim.h"
|
||||
|
@ -1921,9 +1922,13 @@ void MainWindow::actionCheckValidity() {
|
|||
}
|
||||
|
||||
bool valid = false;
|
||||
if (const CGAL_Nef_polyhedron *N = dynamic_cast<const CGAL_Nef_polyhedron *>(this->root_geom.get()))
|
||||
shared_ptr<const CGAL_Nef_polyhedron> N;
|
||||
if (const PolySet *ps = dynamic_cast<const PolySet *>(this->root_geom.get())) {
|
||||
N.reset(CGALUtils::createNefPolyhedronFromGeometry(*ps));
|
||||
}
|
||||
if (N || (N = dynamic_pointer_cast<const CGAL_Nef_polyhedron>(this->root_geom))) {
|
||||
valid = N->p3->is_valid();
|
||||
|
||||
}
|
||||
PRINTB(" Valid: %6s", (valid ? "yes" : "no"));
|
||||
clearCurrentOutput();
|
||||
#endif /* ENABLE_CGAL */
|
||||
|
|
|
@ -631,7 +631,7 @@ int gui(vector<string> &inputFiles, const fs::path &original_path, int argc, cha
|
|||
#endif
|
||||
QApplication app(argc, argv, true); //useGUI);
|
||||
// remove ugly frames in the QStatusBar when using additional widgets
|
||||
app.setStyleSheet("QStatusBar::item { border: 0px solid black }; ");
|
||||
app.setStyleSheet("QStatusBar::item { border: 0px solid black; }");
|
||||
|
||||
#ifdef Q_OS_MAC
|
||||
app.installEventFilter(new EventFilter(&app));
|
||||
|
|
Loading…
Reference in New Issue