summaryrefslogtreecommitdiff
path: root/fluid
diff options
context:
space:
mode:
authorAlbrecht Schlosser <albrechts.fltk@online.de>2021-05-13 16:16:50 +0200
committerAlbrecht Schlosser <albrechts.fltk@online.de>2021-05-13 16:18:13 +0200
commit773467dee4e79e0dfd97c5ee98fc253dead3302c (patch)
tree9ac93d67a1ed19257de461aa0089b4b521ed7c69 /fluid
parent64296707d9e9b38dd9addf655f9b0943a4c54a54 (diff)
Refactor macOS bundle generation to avoid "quarantine"
macOS Big Sur 11.3 introduced a new "security feature" such that app bundles created from existing bundle templates in downloaded files (tar distibutions, expanded) could no longer be executed without unsetting the "quarantine" attribute. This commit fixes this by creating all bundles from scratch. Known *workaround* for older tarballs and snapshots: $ xattr -d -r com.apple.quarantine xxx.app
Diffstat (limited to 'fluid')
-rw-r--r--fluid/CMakeLists.txt4
-rw-r--r--fluid/Makefile11
-rw-r--r--fluid/fluid.app/Contents/PkgInfo1
-rw-r--r--fluid/fluid.plist (renamed from fluid/fluid.app/Contents/Info.plist)0
-rw-r--r--fluid/icons/fluid.icns (renamed from fluid/fluid.app/Contents/Resources/fluid.icns)bin34579 -> 34579 bytes
5 files changed, 8 insertions, 8 deletions
diff --git a/fluid/CMakeLists.txt b/fluid/CMakeLists.txt
index 73cdb4528..48df3eed8 100644
--- a/fluid/CMakeLists.txt
+++ b/fluid/CMakeLists.txt
@@ -49,7 +49,7 @@ endif (WIN32)
if (APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL))
set (ICON_NAME fluid.icns)
- set (ICON_PATH "${PROJECT_SOURCE_DIR}/fluid/fluid.app/Contents/Resources/${ICON_NAME}")
+ set (ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/icons/${ICON_NAME}")
add_executable (fluid MACOSX_BUNDLE ${CPPFILES} ${ICON_PATH})
# create macOS bundle wrapper script
@@ -82,7 +82,7 @@ endif (FLTK_HAVE_CAIRO)
if (APPLE AND (NOT OPTION_APPLE_X11) AND (NOT OPTION_APPLE_SDL))
# create bundle
- set_target_properties (fluid PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${PROJECT_SOURCE_DIR}/fluid/fluid.app/Contents/Info.plist")
+ set_target_properties (fluid PROPERTIES MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/fluid.plist")
set_target_properties (fluid PROPERTIES MACOSX_BUNDLE_ICON_FILE ${ICON_NAME})
set_target_properties (fluid PROPERTIES RESOURCE ${ICON_PATH})
# install
diff --git a/fluid/Makefile b/fluid/Makefile
index a4656be46..7d946cb80 100644
--- a/fluid/Makefile
+++ b/fluid/Makefile
@@ -1,7 +1,7 @@
#
# FLUID Makefile for the Fast Light Tool Kit (FLTK).
#
-# Copyright 1998-2020 by Bill Spitzak and others.
+# Copyright 1998-2021 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
@@ -57,9 +57,11 @@ fluid$(EXEEXT): $(OBJECTS) $(LIBNAME) $(FLLIBNAME) \
$(IMGLIBNAME)
echo Linking $@...
$(CXX) $(ARCHFLAGS) $(CXXFLAGS) -o $@ $(OBJECTS) $(LINKFLTKFORMS) $(LINKFLTKIMG) $(LDFLAGS) $(LDLIBS)
- $(OSX_ONLY) $(RM) -r -f fluid.app/Contents/MacOS
- $(OSX_ONLY) mkdir fluid.app/Contents/MacOS
+ $(OSX_ONLY) $(RM) -r -f fluid.app
+ $(OSX_ONLY) mkdir -p fluid.app/Contents/MacOS fluid.app/Contents/Resources
$(OSX_ONLY) $(INSTALL_BIN) fluid fluid.app/Contents/MacOS
+ $(OSX_ONLY) $(INSTALL) icons/fluid.icns fluid.app/Contents/Resources
+ $(OSX_ONLY) $(INSTALL) fluid.plist fluid.app/Contents/Info.plist
fluid-shared$(EXEEXT): $(OBJECTS) ../src/$(DSONAME) ../src/$(FLDSONAME) \
../src/$(IMGDSONAME)
@@ -69,7 +71,7 @@ fluid-shared$(EXEEXT): $(OBJECTS) ../src/$(DSONAME) ../src/$(FLDSONAME) \
clean:
-$(RM) *.o core.* *~ *.bck *.bak
-$(RM) core fluid$(EXEEXT) fluid-shared$(EXEEXT)
- -$(RM) fluid.app/Contents/MacOS/fluid$(EXEEXT)
+ $(OSX_ONLY) -$(RMDIR) fluid.app
depend: $(CPPFILES)
makedepend -Y -I.. -f makedepend -w 20 $(CPPFILES)
@@ -103,7 +105,6 @@ install-osx:
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app/Contents
$(INSTALL_DATA) fluid.app/Contents/Info.plist $(DESTDIR)/Applications/fluid.app/Contents/Info.plist
- $(INSTALL_DATA) fluid.app/Contents/PkgInfo $(DESTDIR)/Applications/fluid.app/Contents/PkgInfo
-$(INSTALL_DIR) $(DESTDIR)/Applications/fluid.app/Contents/MacOS
$(RM) $(DESTDIR)/Applications/fluid.app/Contents/MacOS/fluid
$(LN) $(bindir)/fluid $(DESTDIR)/Applications/fluid.app/Contents/MacOS/fluid
diff --git a/fluid/fluid.app/Contents/PkgInfo b/fluid/fluid.app/Contents/PkgInfo
deleted file mode 100644
index c5f93635d..000000000
--- a/fluid/fluid.app/Contents/PkgInfo
+++ /dev/null
@@ -1 +0,0 @@
-FLIDFlid
diff --git a/fluid/fluid.app/Contents/Info.plist b/fluid/fluid.plist
index 4f0333f0a..4f0333f0a 100644
--- a/fluid/fluid.app/Contents/Info.plist
+++ b/fluid/fluid.plist
diff --git a/fluid/fluid.app/Contents/Resources/fluid.icns b/fluid/icons/fluid.icns
index 0fda05512..0fda05512 100644
--- a/fluid/fluid.app/Contents/Resources/fluid.icns
+++ b/fluid/icons/fluid.icns
Binary files differ