summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.pri3
-rw-r--r--openscad.pro8
-rwxr-xr-xscripts/macosx-sanity-check.py25
-rw-r--r--sparkle.pri11
4 files changed, 32 insertions, 15 deletions
diff --git a/common.pri b/common.pri
index 696c8b1..c6cf52a 100644
--- a/common.pri
+++ b/common.pri
@@ -11,4 +11,5 @@ include(opencsg.pri)
include(glew.pri)
include(eigen.pri)
include(boost.pri)
-include(glib-2.0.pri) \ No newline at end of file
+include(glib-2.0.pri)
+include(sparkle.pri)
diff --git a/openscad.pro b/openscad.pro
index 20dc299..913a5d3 100644
--- a/openscad.pro
+++ b/openscad.pro
@@ -61,10 +61,8 @@ deploy {
message("Building deployment version")
DEFINES += OPENSCAD_DEPLOY
macx {
- CONFIG += x86 x86_64
- LIBS += -framework Sparkle
- HEADERS += src/SparkleAutoUpdater.h
- OBJECTIVE_SOURCES += src/SparkleAutoUpdater.mm
+ CONFIG += x86_64
+ CONFIG += sparkle
}
}
@@ -75,7 +73,7 @@ macx {
APP_RESOURCES.path = Contents/Resources
APP_RESOURCES.files = OpenSCAD.sdef dsa_pub.pem icons/SCAD.icns
QMAKE_BUNDLE_DATA += APP_RESOURCES
- LIBS += -framework Cocoa
+ LIBS += -framework Cocoa -framework ApplicationServices
# FIXME: Somehow, setting the deployment target to a lower version causes a
# seldom crash in debug mode (e.g. the minkowski2-test):
diff --git a/scripts/macosx-sanity-check.py b/scripts/macosx-sanity-check.py
index 4927de9..ce4cd78 100755
--- a/scripts/macosx-sanity-check.py
+++ b/scripts/macosx-sanity-check.py
@@ -62,7 +62,12 @@ def find_dependencies(file):
return None
deps = output.split('\n')
for dep in deps:
-# print dep
+ #print dep
+ # Fail if anything is linked with libc++, as that's not backwards compatible
+ # with Mac OS X 10.6
+ if re.search("libc\+\+", dep):
+ print "Error: clang's libc++ is used by " + file
+ return None
dep = re.sub(".*:$", "", dep) # Take away header line
dep = re.sub("^\t", "", dep) # Remove initial tabs
dep = re.sub(" \(.*\)$", "", dep) # Remove trailing parentheses
@@ -74,9 +79,10 @@ def validate_lib(lib):
p = subprocess.Popen(["otool", "-l", lib], stdout=subprocess.PIPE)
output = p.communicate()[0]
if p.returncode != 0: return False
- if re.search("LC_DYLD_INFO_ONLY", output):
- print "Error: Requires Snow Leopard: " + lib
- return False
+# We don't support Snow Leopard anymore
+# if re.search("LC_DYLD_INFO_ONLY", output):
+# print "Error: Requires Snow Leopard: " + lib
+# return False
p = subprocess.Popen(["lipo", lib, "-verify_arch", "x86_64"], stdout=subprocess.PIPE)
output = p.communicate()[0]
@@ -84,11 +90,12 @@ def validate_lib(lib):
print "Error: x86_64 architecture not supported: " + lib
return False
- p = subprocess.Popen(["lipo", lib, "-verify_arch", "i386"], stdout=subprocess.PIPE)
- output = p.communicate()[0]
- if p.returncode != 0:
- print "Error: i386 architecture not supported: " + lib
- return False
+# We don't support 32-bit binaries anymore
+# p = subprocess.Popen(["lipo", lib, "-verify_arch", "i386"], stdout=subprocess.PIPE)
+# output = p.communicate()[0]
+# if p.returncode != 0:
+# print "Error: i386 architecture not supported: " + lib
+# return False
return True
if __name__ == '__main__':
diff --git a/sparkle.pri b/sparkle.pri
new file mode 100644
index 0000000..2f71b03
--- /dev/null
+++ b/sparkle.pri
@@ -0,0 +1,11 @@
+sparkle {
+ OPENSCAD_LIBRARIES_DIR = $$(OPENSCAD_LIBRARIES)
+ !isEmpty(OPENSCAD_LIBRARIES_DIR) {
+ QMAKE_OBJECTIVE_CFLAGS +=-F$$OPENSCAD_LIBRARIES_DIR/lib
+ QMAKE_LFLAGS +=-F$$OPENSCAD_LIBRARIES_DIR/lib
+ }
+
+ LIBS += -framework Sparkle
+ HEADERS += src/SparkleAutoUpdater.h
+ OBJECTIVE_SOURCES += src/SparkleAutoUpdater.mm
+}
contact: Jan Huwald // Impressum