mirror of https://github.com/vitalif/openscad
commit
ef92a395a8
|
@ -0,0 +1,18 @@
|
||||||
|
--- src/3rdparty/libtiff/libtiff/tif_config.h
|
||||||
|
+++ src/3rdparty/libtiff/libtiff/tif_config.h
|
||||||
|
@@ -317,15 +317,6 @@
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
/* #undef const */
|
||||||
|
|
||||||
|
-/* Define to `__inline__' or `__inline' if that's what the C compiler
|
||||||
|
- calls it, or to nothing if 'inline' is not supported under any name. */
|
||||||
|
-#ifndef Q_OS_SYMBIAN
|
||||||
|
-#ifndef __cplusplus
|
||||||
|
-#undef inline
|
||||||
|
-#define inline
|
||||||
|
-#endif
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
/* Define to `long int' if <sys/types.h> does not define. */
|
||||||
|
/* #undef off_t */
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
--- src/gui/kernel/qeventdispatcher_mac_p.h 2013-06-07 01:16:59.000000000 -0400
|
||||||
|
+++ src/gui/kernel/qeventdispatcher_mac_p_new-8184b49c12d887928921ed5b695c8c6f04a07514.h 2013-12-08 14:31:01.000000000 -0500
|
||||||
|
@@ -173,6 +173,7 @@
|
||||||
|
#ifdef QT_MAC_USE_COCOA
|
||||||
|
// The following variables help organizing modal sessions:
|
||||||
|
static QStack<QCocoaModalSessionInfo> cocoaModalSessionStack;
|
||||||
|
+ static QStack<QCocoaModalSessionInfo> cocoaModalSessionStackPendingEnd;
|
||||||
|
static bool currentExecIsNSAppRun;
|
||||||
|
static bool nsAppRunCalledByQt;
|
||||||
|
static bool cleanupModalSessionsNeeded;
|
||||||
|
@@ -180,6 +181,7 @@
|
||||||
|
static NSModalSession currentModalSession();
|
||||||
|
static void updateChildrenWorksWhenModal();
|
||||||
|
static void temporarilyStopAllModalSessions();
|
||||||
|
+ static void stopAllPendingEndModalSessions();
|
||||||
|
static void beginModalSession(QWidget *widget);
|
||||||
|
static void endModalSession(QWidget *widget);
|
||||||
|
static void cancelWaitForMoreEvents();
|
||||||
|
--- src/gui/kernel/qeventdispatcher_mac.mm 2013-06-07 01:16:59.000000000 -0400
|
||||||
|
+++ src/gui/kernel/qeventdispatcher_mac_new-833e02de99494686f8dd7a567f6e19e847508f11.mm 2013-12-08 14:30:59.000000000 -0500
|
||||||
|
@@ -603,6 +603,9 @@
|
||||||
|
while ([NSApp runModalSession:session] == NSRunContinuesResponse && !d->interrupt)
|
||||||
|
qt_mac_waitForMoreModalSessionEvents();
|
||||||
|
|
||||||
|
+ // stop all pending end modal sessions
|
||||||
|
+ d->stopAllPendingEndModalSessions();
|
||||||
|
+
|
||||||
|
if (!d->interrupt && session == d->currentModalSessionCached) {
|
||||||
|
// Someone called [NSApp stopModal:] from outside the event
|
||||||
|
// dispatcher (e.g to stop a native dialog). But that call wrongly stopped
|
||||||
|
@@ -678,6 +681,9 @@
|
||||||
|
if (!d->interrupt)
|
||||||
|
QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
|
||||||
|
|
||||||
|
+ // stop all pending end modal sessions
|
||||||
|
+ d->stopAllPendingEndModalSessions();
|
||||||
|
+
|
||||||
|
// Since the window that holds modality might have changed while processing
|
||||||
|
// events, we we need to interrupt when we return back the previous process
|
||||||
|
// event recursion to ensure that we spin the correct modal session.
|
||||||
|
@@ -781,6 +787,7 @@
|
||||||
|
|
||||||
|
#ifdef QT_MAC_USE_COCOA
|
||||||
|
QStack<QCocoaModalSessionInfo> QEventDispatcherMacPrivate::cocoaModalSessionStack;
|
||||||
|
+QStack<QCocoaModalSessionInfo> QEventDispatcherMacPrivate::cocoaModalSessionStackPendingEnd;
|
||||||
|
bool QEventDispatcherMacPrivate::currentExecIsNSAppRun = false;
|
||||||
|
bool QEventDispatcherMacPrivate::nsAppRunCalledByQt = false;
|
||||||
|
bool QEventDispatcherMacPrivate::cleanupModalSessionsNeeded = false;
|
||||||
|
@@ -828,6 +835,20 @@
|
||||||
|
currentModalSessionCached = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void QEventDispatcherMacPrivate::stopAllPendingEndModalSessions()
|
||||||
|
+{
|
||||||
|
+ // stop all modal sessions pending end
|
||||||
|
+ int stackSize = cocoaModalSessionStackPendingEnd.size();
|
||||||
|
+ for (int i=stackSize-1; i>=0; --i) {
|
||||||
|
+ QCocoaModalSessionInfo &info = cocoaModalSessionStackPendingEnd[i];
|
||||||
|
+ cocoaModalSessionStackPendingEnd.remove(i);
|
||||||
|
+ if (info.session) {
|
||||||
|
+ [NSApp endModalSession:info.session];
|
||||||
|
+ [(NSWindow *)info.nswindow release];
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
NSModalSession QEventDispatcherMacPrivate::currentModalSession()
|
||||||
|
{
|
||||||
|
// If we have one or more modal windows, this function will create
|
||||||
|
@@ -925,10 +946,12 @@
|
||||||
|
}
|
||||||
|
cocoaModalSessionStack.remove(i);
|
||||||
|
currentModalSessionCached = 0;
|
||||||
|
- if (info.session) {
|
||||||
|
- [NSApp endModalSession:info.session];
|
||||||
|
- [(NSWindow *)info.nswindow release];
|
||||||
|
- }
|
||||||
|
+
|
||||||
|
+ // Cannot stop the sessions here since we might still be inside a
|
||||||
|
+ // [NSApp runModalSession:] call. Add the session to the pending end stack and
|
||||||
|
+ // process the stack after the call to [NSApp runModalSession:] returns.
|
||||||
|
+ if (info.session)
|
||||||
|
+ cocoaModalSessionStackPendingEnd.push(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateChildrenWorksWhenModal();
|
|
@ -0,0 +1,29 @@
|
||||||
|
--- src/gui/text/qfontdatabase.cpp 2013-06-07 01:16:59.000000000 -0400
|
||||||
|
+++ src/gui/text/qfontdatabase_new-bb2beddc3ae55c4676d190d0ac99aa32d322a6a5.cpp 2013-12-08 14:51:10.000000000 -0500
|
||||||
|
@@ -441,6 +441,7 @@
|
||||||
|
#endif
|
||||||
|
#if !defined(QWS) && defined(Q_OS_MAC)
|
||||||
|
bool fixedPitchComputed : 1;
|
||||||
|
+ QString postscriptName;
|
||||||
|
#endif
|
||||||
|
#ifdef Q_WS_X11
|
||||||
|
bool symbol_checked : 1;
|
||||||
|
--- src/gui/text/qfontdatabase_mac.cpp 2013-06-07 01:16:59.000000000 -0400
|
||||||
|
+++ src/gui/text/qfontdatabase_mac_new-41f29865db84152efb41c048470f713353a0a84c.cpp 2013-12-08 14:51:05.000000000 -0500
|
||||||
|
@@ -147,6 +147,7 @@
|
||||||
|
QCFString family_name = (CFStringRef)CTFontDescriptorCopyLocalizedAttribute(font, kCTFontFamilyNameAttribute, NULL);
|
||||||
|
QCFString style_name = (CFStringRef)CTFontDescriptorCopyLocalizedAttribute(font, kCTFontStyleNameAttribute, NULL);
|
||||||
|
QtFontFamily *family = db->family(family_name, true);
|
||||||
|
+ family->postscriptName = QCFString((CFStringRef)CTFontDescriptorCopyAttribute(font, kCTFontNameAttribute));
|
||||||
|
|
||||||
|
if (QCFType<CFArrayRef> languages = (CFArrayRef) CTFontDescriptorCopyAttribute(font, kCTFontLanguagesAttribute)) {
|
||||||
|
CFIndex length = CFArrayGetCount(languages);
|
||||||
|
@@ -327,7 +328,7 @@
|
||||||
|
if (db->families[k]->name.compare(family_list.at(i), Qt::CaseInsensitive) == 0) {
|
||||||
|
QByteArray family_name = db->families[k]->name.toUtf8();
|
||||||
|
#if defined(QT_MAC_USE_COCOA)
|
||||||
|
- QCFType<CTFontRef> ctFont = CTFontCreateWithName(QCFString(db->families[k]->name), 12, NULL);
|
||||||
|
+ QCFType<CTFontRef> ctFont = CTFontCreateWithName(QCFString(db->families[k]->postscriptName), 12, NULL);
|
||||||
|
if (ctFont) {
|
||||||
|
fontName = CTFontCopyFullName(ctFont);
|
||||||
|
goto found;
|
|
@ -0,0 +1,14 @@
|
||||||
|
--- src/corelib/global/qglobal.h.orig 2013-06-07 07:16:52.000000000 +0200
|
||||||
|
+++ src/corelib/global/qglobal.h 2013-10-27 14:05:22.000000000 +0100
|
||||||
|
@@ -327,7 +327,10 @@
|
||||||
|
# if !defined(MAC_OS_X_VERSION_10_8)
|
||||||
|
# define MAC_OS_X_VERSION_10_8 MAC_OS_X_VERSION_10_7 + 1
|
||||||
|
# endif
|
||||||
|
-# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_8)
|
||||||
|
+# if !defined(MAC_OS_X_VERSION_10_9)
|
||||||
|
+# define MAC_OS_X_VERSION_10_9 MAC_OS_X_VERSION_10_8 + 1
|
||||||
|
+# endif
|
||||||
|
+# if (MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_9)
|
||||||
|
# warning "This version of Mac OS X is unsupported"
|
||||||
|
# endif
|
||||||
|
#endif
|
File diff suppressed because it is too large
Load Diff
|
@ -24,7 +24,7 @@ BASEDIR=$PWD/../libraries
|
||||||
OPENSCADDIR=$PWD
|
OPENSCADDIR=$PWD
|
||||||
SRCDIR=$BASEDIR/src
|
SRCDIR=$BASEDIR/src
|
||||||
DEPLOYDIR=$BASEDIR/install
|
DEPLOYDIR=$BASEDIR/install
|
||||||
MAC_OSX_VERSION_MIN=10.6
|
MAC_OSX_VERSION_MIN=10.7
|
||||||
OPTION_32BIT=false
|
OPTION_32BIT=false
|
||||||
OPTION_LLVM=false
|
OPTION_LLVM=false
|
||||||
OPTION_CLANG=false
|
OPTION_CLANG=false
|
||||||
|
@ -54,6 +54,9 @@ build_qt()
|
||||||
fi
|
fi
|
||||||
tar xzf qt-everywhere-opensource-src-$version.tar.gz
|
tar xzf qt-everywhere-opensource-src-$version.tar.gz
|
||||||
cd qt-everywhere-opensource-src-$version
|
cd qt-everywhere-opensource-src-$version
|
||||||
|
patch -p0 < $OPENSCADDIR/patches/qt4/patch-src_corelib_global_qglobal.h.diff
|
||||||
|
patch -p0 < $OPENSCADDIR/patches/qt4/patch-libtiff.diff
|
||||||
|
patch -p0 < $OPENSCADDIR/patches/qt4/patch-src_plugins_bearer_corewlan_qcorewlanengine.mm.diff
|
||||||
if $USING_CLANG; then
|
if $USING_CLANG; then
|
||||||
# FIX for clang
|
# FIX for clang
|
||||||
sed -i "" -e "s/::TabletProximityRec/TabletProximityRec/g" src/gui/kernel/qt_cocoa_helpers_mac_p.h
|
sed -i "" -e "s/::TabletProximityRec/TabletProximityRec/g" src/gui/kernel/qt_cocoa_helpers_mac_p.h
|
||||||
|
@ -220,7 +223,7 @@ build_boost()
|
||||||
BOOST_TOOLSET="toolset=clang"
|
BOOST_TOOLSET="toolset=clang"
|
||||||
echo "using clang ;" >> tools/build/v2/user-config.jam
|
echo "using clang ;" >> tools/build/v2/user-config.jam
|
||||||
fi
|
fi
|
||||||
./b2 -d+2 $BOOST_TOOLSET cflags="-mmacosx-version-min=$MAC_OSX_VERSION_MIN -arch x86_64 $BOOST_EXTRA_FLAGS" linkflags="-mmacosx-version-min=$MAC_OSX_VERSION_MIN -arch x86_64 $BOOST_EXTRA_FLAGS -headerpad_max_install_names" install
|
./b2 -j6 -d+2 $BOOST_TOOLSET cflags="-mmacosx-version-min=$MAC_OSX_VERSION_MIN -arch x86_64 $BOOST_EXTRA_FLAGS" linkflags="-mmacosx-version-min=$MAC_OSX_VERSION_MIN -arch x86_64 $BOOST_EXTRA_FLAGS -headerpad_max_install_names" install
|
||||||
install_name_tool -id $DEPLOYDIR/lib/libboost_thread.dylib $DEPLOYDIR/lib/libboost_thread.dylib
|
install_name_tool -id $DEPLOYDIR/lib/libboost_thread.dylib $DEPLOYDIR/lib/libboost_thread.dylib
|
||||||
install_name_tool -change libboost_system.dylib $DEPLOYDIR/lib/libboost_system.dylib $DEPLOYDIR/lib/libboost_thread.dylib
|
install_name_tool -change libboost_system.dylib $DEPLOYDIR/lib/libboost_system.dylib $DEPLOYDIR/lib/libboost_thread.dylib
|
||||||
install_name_tool -change libboost_chrono.dylib $DEPLOYDIR/lib/libboost_chrono.dylib $DEPLOYDIR/lib/libboost_thread.dylib
|
install_name_tool -change libboost_chrono.dylib $DEPLOYDIR/lib/libboost_chrono.dylib $DEPLOYDIR/lib/libboost_thread.dylib
|
||||||
|
@ -282,27 +285,40 @@ build_glew()
|
||||||
make GLEW_DEST=$DEPLOYDIR CC=$CC CFLAGS.EXTRA="-no-cpp-precomp -dynamic -fno-common -mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" LDFLAGS.EXTRA="-mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" STRIP= install
|
make GLEW_DEST=$DEPLOYDIR CC=$CC CFLAGS.EXTRA="-no-cpp-precomp -dynamic -fno-common -mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" LDFLAGS.EXTRA="-mmacosx-version-min=$MAC_OSX_VERSION_MIN $GLEW_EXTRA_FLAGS -arch x86_64" STRIP= install
|
||||||
}
|
}
|
||||||
|
|
||||||
|
build_gettext()
|
||||||
|
{
|
||||||
|
version=$1
|
||||||
|
echo "Building gettext $version..."
|
||||||
|
|
||||||
|
cd "$BASEDIR"/src
|
||||||
|
rm -rf "gettext-$version"
|
||||||
|
if [ ! -f "glib-$version.tar.xz" ]; then
|
||||||
|
curl --insecure -LO "http://ftpmirror.gnu.org/gettext/gettext-$version.tar.gz"
|
||||||
|
fi
|
||||||
|
tar xzf "gettext-$version.tar.gz"
|
||||||
|
cd "gettext-$version"
|
||||||
|
|
||||||
|
./configure --prefix="$DEPLOYDIR"
|
||||||
|
make -j4
|
||||||
|
make install
|
||||||
|
}
|
||||||
|
|
||||||
build_glib2()
|
build_glib2()
|
||||||
{
|
{
|
||||||
version="$1"
|
version=$1
|
||||||
maj_min_version="${version%.*}" #Drop micro
|
|
||||||
|
|
||||||
if [ -e $DEPLOYDIR/lib/glib-2.0 ]; then
|
|
||||||
echo "glib2 already installed. not building"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Building glib2 $version..."
|
echo "Building glib2 $version..."
|
||||||
|
|
||||||
cd "$BASEDIR"/src
|
cd "$BASEDIR"/src
|
||||||
rm -rf "glib-$version"
|
rm -rf "glib-$version"
|
||||||
|
maj_min_version="${version%.*}" #Drop micro
|
||||||
if [ ! -f "glib-$version.tar.xz" ]; then
|
if [ ! -f "glib-$version.tar.xz" ]; then
|
||||||
curl --insecure -LO "http://ftp.gnome.org/pub/gnome/sources/glib/$maj_min_version/glib-$version.tar.xz"
|
curl --insecure -LO "http://ftp.gnome.org/pub/gnome/sources/glib/$maj_min_version/glib-$version.tar.xz"
|
||||||
fi
|
fi
|
||||||
tar xJf "glib-$version.tar.xz"
|
tar xJf "glib-$version.tar.xz"
|
||||||
cd "glib-$version"
|
cd "glib-$version"
|
||||||
|
|
||||||
./configure --prefix="$DEPLOYDIR"
|
./configure --disable-gtk-doc --disable-man --prefix="$DEPLOYDIR" CFLAGS="-I$DEPLOYDIR/include" LDFLAGS="-L$DEPLOYDIR/lib"
|
||||||
make -j$NUMCPU
|
make -j4
|
||||||
make install
|
make install
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -470,7 +486,12 @@ build_boost 1.54.0
|
||||||
# NB! For CGAL, also update the actual download URL in the function
|
# NB! For CGAL, also update the actual download URL in the function
|
||||||
build_cgal 4.3
|
build_cgal 4.3
|
||||||
build_glew 1.10.0
|
build_glew 1.10.0
|
||||||
|
<<<<<<< HEAD
|
||||||
|
build_gettext 0.18.3.1
|
||||||
|
build_glib2 2.38.2
|
||||||
|
=======
|
||||||
build_glib2 2.38.1
|
build_glib2 2.38.1
|
||||||
|
>>>>>>> d7d5bea7363703c76b9787598304bfc838e893ee
|
||||||
build_opencsg 1.3.2
|
build_opencsg 1.3.2
|
||||||
if $OPTION_DEPLOY; then
|
if $OPTION_DEPLOY; then
|
||||||
# build_sparkle andymatuschak 0ed83cf9f2eeb425d4fdd141c01a29d843970c20
|
# build_sparkle andymatuschak 0ed83cf9f2eeb425d4fdd141c01a29d843970c20
|
||||||
|
|
|
@ -8,7 +8,7 @@ void CocoaUtils::endApplication()
|
||||||
object:nil];
|
object:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
void CocoaUtils::nslog(const std::string &str, void *userdata)
|
void CocoaUtils::nslog(const std::string &str, void * /* userdata */)
|
||||||
{
|
{
|
||||||
NSLog([NSString stringWithUTF8String: str.c_str()]);
|
NSLog(@"%s", str.c_str());
|
||||||
}
|
}
|
||||||
|
|
|
@ -457,7 +457,14 @@ PolySet *PolySetCGALEvaluator::rotateDxfData(const RotateExtrudeNode &node, DxfD
|
||||||
{
|
{
|
||||||
double max_x = 0;
|
double max_x = 0;
|
||||||
for (size_t j = 0; j < dxf.paths[i].indices.size(); j++) {
|
for (size_t j = 0; j < dxf.paths[i].indices.size(); j++) {
|
||||||
max_x = fmax(max_x, dxf.points[dxf.paths[i].indices[j]][0]);
|
double point_x = dxf.points[dxf.paths[i].indices[j]][0];
|
||||||
|
if (point_x < 0) {
|
||||||
|
PRINT("ERROR: all points for rotate_extrude() must have non-negative X coordinates");
|
||||||
|
PRINTB("[Point %d on path %d has X coordinate %f]", j % i % point_x);
|
||||||
|
delete ps;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
max_x = fmax(max_x, point_x);
|
||||||
}
|
}
|
||||||
|
|
||||||
int fragments = get_fragments_from_r(max_x, node.fn, node.fs, node.fa);
|
int fragments = get_fragments_from_r(max_x, node.fn, node.fs, node.fa);
|
||||||
|
|
|
@ -162,7 +162,7 @@ void ModuleContext::dump(const AbstractModule *mod, const ModuleInstantiation *i
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
FileContext::FileContext(const class FileModule &module, const Context *parent)
|
FileContext::FileContext(const class FileModule &module, const Context *parent)
|
||||||
: usedlibs(module.usedlibs), ModuleContext(parent)
|
: ModuleContext(parent), usedlibs(module.usedlibs)
|
||||||
{
|
{
|
||||||
if (!module.modulePath().empty()) this->document_path = module.modulePath();
|
if (!module.modulePath().empty()) this->document_path = module.modulePath();
|
||||||
}
|
}
|
||||||
|
|
|
@ -474,6 +474,13 @@ bool QtUseGUI()
|
||||||
|
|
||||||
int gui(vector<string> &inputFiles, const fs::path &original_path, int argc, char ** argv)
|
int gui(vector<string> &inputFiles, const fs::path &original_path, int argc, char ** argv)
|
||||||
{
|
{
|
||||||
|
#ifdef Q_OS_MACX
|
||||||
|
if (QSysInfo::MacintoshVersion > QSysInfo::MV_10_8) {
|
||||||
|
// fix Mac OS X 10.9 (mavericks) font issue
|
||||||
|
// https://bugreports.qt-project.org/browse/QTBUG-32789
|
||||||
|
QFont::insertSubstitution(".Lucida Grande UI", "Lucida Grande");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
QApplication app(argc, argv, true); //useGUI);
|
QApplication app(argc, argv, true); //useGUI);
|
||||||
#ifdef Q_WS_MAC
|
#ifdef Q_WS_MAC
|
||||||
app.installEventFilter(new EventFilter(&app));
|
app.installEventFilter(new EventFilter(&app));
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#if defined(__APPLE__) && defined(__GNUC__)
|
#if defined(__APPLE__) && defined(__GNUC__) && !defined(__clang__)
|
||||||
|
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# instructions - see ../doc/testing.txt
|
# instructions - see ../doc/testing.txt
|
||||||
|
|
||||||
# set(DEBUG_OSCD 1) # print debug info during cmake
|
#set(DEBUG_OSCD 1) # print debug info during cmake
|
||||||
|
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
|
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
|
||||||
|
@ -15,8 +15,15 @@ include(CMakeParseArguments.cmake)
|
||||||
# Detect Lion and force gcc
|
# Detect Lion and force gcc
|
||||||
IF (APPLE)
|
IF (APPLE)
|
||||||
EXECUTE_PROCESS(COMMAND sw_vers -productVersion OUTPUT_VARIABLE MACOSX_VERSION)
|
EXECUTE_PROCESS(COMMAND sw_vers -productVersion OUTPUT_VARIABLE MACOSX_VERSION)
|
||||||
IF (NOT ${MACOSX_VERSION} VERSION_LESS "10.8.0")
|
IF (NOT ${MACOSX_VERSION} VERSION_LESS "10.9.0")
|
||||||
message("Detected Mountain Lion (10.8) or later")
|
message("Detected Maverick (10.9) or later")
|
||||||
|
set(CMAKE_C_COMPILER "clang")
|
||||||
|
set(CMAKE_CXX_COMPILER "clang++")
|
||||||
|
# Somehow, since we build dependencies for 10.7, we need to also build executables
|
||||||
|
# for 10.7. This used to not be necessary, but since 10.9 it apparently is..
|
||||||
|
SET(CMAKE_OSX_DEPLOYMENT_TARGET 10.7 CACHE STRING "Deployment target")
|
||||||
|
ELSEIF (NOT ${MACOSX_VERSION} VERSION_LESS "10.8.0")
|
||||||
|
message("Detected Mountain Lion (10.8)")
|
||||||
set(CMAKE_C_COMPILER "clang")
|
set(CMAKE_C_COMPILER "clang")
|
||||||
set(CMAKE_CXX_COMPILER "clang++")
|
set(CMAKE_CXX_COMPILER "clang++")
|
||||||
ELSEIF (NOT ${MACOSX_VERSION} VERSION_LESS "10.7.0")
|
ELSEIF (NOT ${MACOSX_VERSION} VERSION_LESS "10.7.0")
|
||||||
|
@ -359,10 +366,10 @@ if (NOT $ENV{CGALDIR} STREQUAL "")
|
||||||
elseif (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
|
elseif (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
|
||||||
if (EXISTS "$ENV{OPENSCAD_LIBRARIES}/lib/CGAL")
|
if (EXISTS "$ENV{OPENSCAD_LIBRARIES}/lib/CGAL")
|
||||||
set(CGAL_DIR "$ENV{OPENSCAD_LIBRARIES}/lib/CGAL")
|
set(CGAL_DIR "$ENV{OPENSCAD_LIBRARIES}/lib/CGAL")
|
||||||
set(CMAKE_MODULE_PATH "${CGAL_DIR}")
|
set(CMAKE_MODULE_PATH "${CGAL_DIR}" ${CMAKE_MODULE_PATH})
|
||||||
elseif (EXISTS "$ENV{OPENSCAD_LIBRARIES}/include/CGAL")
|
elseif (EXISTS "$ENV{OPENSCAD_LIBRARIES}/include/CGAL")
|
||||||
set(CGAL_DIR "$ENV{OPENSCAD_LIBRARIES}")
|
set(CGAL_DIR "$ENV{OPENSCAD_LIBRARIES}")
|
||||||
set(CMAKE_MODULE_PATH "${CGAL_DIR}")
|
set(CMAKE_MODULE_PATH "${CGAL_DIR}" ${CMAKE_MODULE_PATH})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
message(STATUS "CGAL_DIR: " ${CGAL_DIR})
|
message(STATUS "CGAL_DIR: " ${CGAL_DIR})
|
||||||
|
@ -406,16 +413,9 @@ if (NOT $ENV{OPENSCAD_LIBRARIES} STREQUAL "")
|
||||||
set(ENV{PKG_CONFIG_LIBDIR} "$ENV{OPENSCAD_LIBRARIES}/lib/pkgconfig")
|
set(ENV{PKG_CONFIG_LIBDIR} "$ENV{OPENSCAD_LIBRARIES}/lib/pkgconfig")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find libraries (system installed or dependency built) using pkg-config
|
find_package(GLIB2 2.2.0 REQUIRED)
|
||||||
find_package(PkgConfig REQUIRED)
|
add_definitions(${GLIB2_DEFINITIONS})
|
||||||
|
inclusion(GLIB2_DIR GLIB2_INCLUDE_DIRS)
|
||||||
#GLib-2
|
|
||||||
pkg_search_module(GLIB2 REQUIRED glib-2.0>=2.2.0)
|
|
||||||
#Can't use the CXXFlags directly as they are ;-separated
|
|
||||||
string(REPLACE ";" " " GLIB2_CFLAGS "${GLIB2_CFLAGS}")
|
|
||||||
message(STATUS "glib-2.0 found: ${GLIB2_VERSION}")
|
|
||||||
|
|
||||||
add_definitions(${GLIB2_CFLAGS})
|
|
||||||
|
|
||||||
# Imagemagick
|
# Imagemagick
|
||||||
|
|
||||||
|
@ -588,7 +588,7 @@ set(OFFSCREEN_SOURCES
|
||||||
../src/OpenCSGRenderer.cc)
|
../src/OpenCSGRenderer.cc)
|
||||||
|
|
||||||
add_library(tests-core STATIC ${CORE_SOURCES})
|
add_library(tests-core STATIC ${CORE_SOURCES})
|
||||||
target_link_libraries(tests-core ${OPENGL_LIBRARIES} ${GLIB2_LIBRARIES} )
|
target_link_libraries(tests-core)
|
||||||
set(TESTS-CORE-LIBRARIES ${OPENGL_LIBRARIES} ${GLIB2_LIBRARIES} ${Boost_LIBRARIES} )
|
set(TESTS-CORE-LIBRARIES ${OPENGL_LIBRARIES} ${GLIB2_LIBRARIES} ${Boost_LIBRARIES} )
|
||||||
|
|
||||||
add_library(tests-common STATIC ${COMMON_SOURCES})
|
add_library(tests-common STATIC ${COMMON_SOURCES})
|
||||||
|
@ -609,7 +609,7 @@ set(TESTS-NOCGAL-LIBRARIES ${TESTS-CORE-LIBRARIES})
|
||||||
# modulecachetest
|
# modulecachetest
|
||||||
#
|
#
|
||||||
add_executable(modulecachetest modulecachetest.cc)
|
add_executable(modulecachetest modulecachetest.cc)
|
||||||
target_link_libraries(modulecachetest tests-nocgal ${TESTS-NOCGAL-LIBRARIES} ${Boost_LIBRARIES})
|
target_link_libraries(modulecachetest tests-nocgal ${TESTS-NOCGAL-LIBRARIES})
|
||||||
|
|
||||||
#
|
#
|
||||||
# csgtexttest
|
# csgtexttest
|
||||||
|
@ -629,7 +629,7 @@ target_link_libraries(cgalcachetest tests-cgal ${TESTS-CGAL-LIBRARIES} ${GLEW_LI
|
||||||
#
|
#
|
||||||
add_executable(openscad_nogui ../src/openscad.cc)
|
add_executable(openscad_nogui ../src/openscad.cc)
|
||||||
set_target_properties(openscad_nogui PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -DEIGEN_DONT_ALIGN -DENABLE_CGAL -DENABLE_OPENCSG ${CGAL_CXX_FLAGS_INIT}")
|
set_target_properties(openscad_nogui PROPERTIES COMPILE_FLAGS "-fno-strict-aliasing -DEIGEN_DONT_ALIGN -DENABLE_CGAL -DENABLE_OPENCSG ${CGAL_CXX_FLAGS_INIT}")
|
||||||
target_link_libraries(openscad_nogui tests-offscreen tests-cgal tests-nocgal ${TESTS-CORE-LIBRARIES} ${TESTS-CGAL-LIBRARIES} ${GLEW_LIBRARY} ${Boost_LIBRARIES} ${OPENCSG_LIBRARY} ${COCOA_LIBRARY} )
|
target_link_libraries(openscad_nogui tests-offscreen tests-cgal tests-nocgal ${TESTS-CORE-LIBRARIES} ${TESTS-CGAL-LIBRARIES} ${GLEW_LIBRARY} ${OPENCSG_LIBRARY} ${COCOA_LIBRARY} )
|
||||||
|
|
||||||
#
|
#
|
||||||
# GUI binary tests
|
# GUI binary tests
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
find_package(PkgConfig REQUIRED)
|
||||||
|
|
||||||
|
pkg_search_module(GLIB2 REQUIRED glib-2.0)
|
||||||
|
#message("GLIB2_LIBRARIES ${GLIB2_LIBRARIES}")
|
||||||
|
#message("GLIB2_LIBRARY_DIRS ${GLIB2_LIBRARY_DIRS}")
|
||||||
|
#message("GLIB2_LDFLAGS ${GLIB2_LDFLAGS}")
|
||||||
|
#message("GLIB2_LDFLAGS_OTHER ${GLIB2_LDFLAGS_OTHER}")
|
||||||
|
message("GLIB2_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS}")
|
||||||
|
#message("GLIB2_CFLAGS ${GLIB2_CFLAGS}")
|
||||||
|
#message("GLIB2_CFLAGS_OTHER ${GLIB2_CFLAGS_OTHER}")
|
||||||
|
#message("GLIB2_LIBDIR ${GLIB2_LIBDIR}")
|
||||||
|
|
||||||
|
set(GLIB2_DEFINITIONS ${GLIB2_CFLAGS_OTHER})
|
||||||
|
#message("GLIB2_DEFINITIONS ${GLIB2_DEFINITIONS}")
|
||||||
|
|
||||||
|
set(GLIB2_LIBRARY_NAMES ${GLIB2_LIBRARIES})
|
||||||
|
set(GLIB2_LIBRARIES "")
|
||||||
|
foreach(GLIB2_LIB ${GLIB2_LIBRARY_NAMES})
|
||||||
|
# message("lib: ${GLIB2_LIB}")
|
||||||
|
set(TMP TMP-NOTFOUND)
|
||||||
|
find_library(TMP NAMES ${GLIB2_LIB}
|
||||||
|
PATHS ${GLIB2_LIBRARY_DIRS}
|
||||||
|
NO_DEFAULT_PATH)
|
||||||
|
# message("TMP: ${TMP}")
|
||||||
|
list(APPEND GLIB2_LIBRARIES "${TMP}")
|
||||||
|
endforeach()
|
||||||
|
message("GLIB2_LIBRARIES: ${GLIB2_LIBRARIES}")
|
Loading…
Reference in New Issue