Skip to content

Commit

Permalink
Compiler scripts for macOS / Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
danoli3 committed Mar 13, 2024
1 parent 5f645bf commit 26025f7
Show file tree
Hide file tree
Showing 6 changed files with 136 additions and 9 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build-macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ jobs:
strategy:
matrix:
cfg:
- {target: osx, opt: "xcode"}
- {target: osx, opt: "makefiles"}
- {target: macos, opt: "xcode"}
# - {target: macos, opt: "makefiles"}
steps:
- uses: actions/checkout@v4
- name: ccache
Expand Down
47 changes: 41 additions & 6 deletions libs/openFrameworksCompiled/project/macos/config.osx.default.mk
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,44 @@ ifeq ($(shell xcode-select -print-path 2> /dev/null; echo $$?),0)
MAC_OS_SDK_PATH=$(MAC_OS_XCODE_ROOT)/Platforms/MacOSX.platform/Developer/SDKs

ifndef MAC_OS_SDK
ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.15.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.15.sdk)
MAC_OS_SDK=10.15
ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.4.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.4.sdk)
MAC_OS_SDK=14.4
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.3.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.3.sdk)
MAC_OS_SDK=14.3
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.2.sdk)
MAC_OS_SDK=14.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.1.sdk)
MAC_OS_SDK=14.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.0.sdk)
MAC_OS_SDK=14.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX13.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX13.2.sdk)
MAC_OS_SDK=13.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX13.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX13.1.sdk)
MAC_OS_SDK=13.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX13.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX13.0.sdk)
MAC_OS_SDK=13.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.4.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.4.sdk)
MAC_OS_SDK=12.4
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.3.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.3.sdk)
MAC_OS_SDK=12.3
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.2.sdk)
MAC_OS_SDK=12.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.1.sdk)
MAC_OS_SDK=12.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.0.sdk)
MAC_OS_SDK=12.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.4.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.4.sdk)
MAC_OS_SDK=11.4
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.3.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.3.sdk)
MAC_OS_SDK=11.3
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.2.sdk)
MAC_OS_SDK=11.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.1.sdk)
MAC_OS_SDK=11.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.0.sdk)
MAC_OS_SDK=11.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.15.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.15.sdk)
MAC_OS_SDK=10.15
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.14.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.14.sdk)
MAC_OS_SDK=10.14
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.13.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.13.sdk)
Expand Down Expand Up @@ -166,7 +202,6 @@ endif

PLATFORM_LDFLAGS = -stdlib=$(MAC_OS_STD_LIB)

#PLATFORM_LDFLAGS += -arch i386
PLATFORM_LDFLAGS += -lcurl

PLATFORM_LDFLAGS += -mmacosx-version-min=$(MAC_OS_MIN_VERSION) -v
Expand Down Expand Up @@ -364,15 +399,15 @@ afterplatform: $(TARGET_NAME)
@mkdir -p bin/$(BIN_NAME).app/Contents/Resources

# Use the openFrameworks-Info.plist as the default. Feel free to edit it in your project folder to override and values.
@if [ ! -f openFrameworks-Info.plist ]; then cp $(OF_ROOT)/scripts/templates/osx/openFrameworks-Info.plist openFrameworks-Info.plist; fi
@if [ ! -f openFrameworks-Info.plist ]; then cp $(OF_ROOT)/scripts/templates/macos/openFrameworks-Info.plist openFrameworks-Info.plist; fi
@cp openFrameworks-Info.plist bin/$(BIN_NAME).app/Contents/Info.plist;

# App icons
ifeq ($(RUN_TARGET), RunRelease)
@if [ -f of.icns ]; then cp of.icns bin/$(BIN_NAME).app/Contents/Resources/; else cp $(OF_LIBS_PATH)/openFrameworksCompiled/project/osx/of.icns bin/$(BIN_NAME).app/Contents/Resources/; fi
@if [ -f of.icns ]; then cp of.icns bin/$(BIN_NAME).app/Contents/Resources/; else cp $(OF_LIBS_PATH)/openFrameworksCompiled/project/macos/of.icns bin/$(BIN_NAME).app/Contents/Resources/; fi
@sed -i '' 's/\$$(ICON_NAME)/of.icns/g' bin/$(BIN_NAME).app/Contents/Info.plist
else
@if [ -f of_debug.icns ]; then cp of_debug.icns bin/$(BIN_NAME).app/Contents/Resources/; else cp $(OF_LIBS_PATH)/openFrameworksCompiled/project/osx/of_debug.icns bin/$(BIN_NAME).app/Contents/Resources/; fi
@if [ -f of_debug.icns ]; then cp of_debug.icns bin/$(BIN_NAME).app/Contents/Resources/; else cp $(OF_LIBS_PATH)/openFrameworksCompiled/project/macos/of_debug.icns bin/$(BIN_NAME).app/Contents/Resources/; fi
@sed -i '' 's/\$$(ICON_NAME)/of_debug.icns/g' bin/$(BIN_NAME).app/Contents/Info.plist
endif

Expand Down
38 changes: 37 additions & 1 deletion libs/openFrameworksCompiled/project/osx/config.osx.default.mk
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,43 @@ ifeq ($(shell xcode-select -print-path 2> /dev/null; echo $$?),0)
MAC_OS_SDK_PATH=$(MAC_OS_XCODE_ROOT)/Platforms/MacOSX.platform/Developer/SDKs

ifndef MAC_OS_SDK
ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.15.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.15.sdk)
ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.4.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.4.sdk)
MAC_OS_SDK=14.4
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.3.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.3.sdk)
MAC_OS_SDK=14.3
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.2.sdk)
MAC_OS_SDK=14.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.1.sdk)
MAC_OS_SDK=14.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX14.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX14.0.sdk)
MAC_OS_SDK=14.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX13.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX13.2.sdk)
MAC_OS_SDK=13.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX13.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX13.1.sdk)
MAC_OS_SDK=13.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX13.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX13.0.sdk)
MAC_OS_SDK=13.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.4.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.4.sdk)
MAC_OS_SDK=12.4
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.3.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.3.sdk)
MAC_OS_SDK=12.3
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.2.sdk)
MAC_OS_SDK=12.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.1.sdk)
MAC_OS_SDK=12.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX12.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX12.0.sdk)
MAC_OS_SDK=12.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.4.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.4.sdk)
MAC_OS_SDK=11.4
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.3.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.3.sdk)
MAC_OS_SDK=11.3
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.2.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.2.sdk)
MAC_OS_SDK=11.2
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.1.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.1.sdk)
MAC_OS_SDK=11.1
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX11.0.sdk),$(MAC_OS_SDK_PATH)/MacOSX11.0.sdk)
MAC_OS_SDK=11.0
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.15.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.15.sdk)
MAC_OS_SDK=10.15
else ifeq ($(wildcard $(MAC_OS_SDK_PATH)/MacOSX10.14.sdk),$(MAC_OS_SDK_PATH)/MacOSX10.14.sdk)
MAC_OS_SDK=10.14
Expand Down
8 changes: 8 additions & 0 deletions scripts/ci/macos/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
set -ev
ROOT=${TRAVIS_BUILD_DIR:-"$( cd "$(dirname "$0")/../../.." ; pwd -P )"}

echo "**** Building oF + emptyExample - macOS Template Project ****"
# xcodebuild -arch x86_64 -configuration Release -target emptyExample -project "$ROOT/scripts/templates/macos/emptyExample.xcodeproj"
xcodebuild -configuration Release -target emptyExample -project "$ROOT/scripts/templates/macos/emptyExample.xcodeproj"
echo "**** Done building emptyExample ****"
7 changes: 7 additions & 0 deletions scripts/ci/macos/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
#set -ev
#brew update
#brew install gdb
#brew install ccache
#brew upgrade coreutils

41 changes: 41 additions & 0 deletions scripts/ci/macos/run_tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#!/bin/bash
set -ev
ROOT=${TRAVIS_BUILD_DIR:-"$( cd "$(dirname "$0")/../../.." ; pwd -P )"}
# source $ROOT/scripts/ci/ccache.sh

trap 'for f in ~/Library/Logs/DiagnosticReports/*; do cat $f; done' 11

echo "**** Building emptyExample ****"
cd $ROOT
cp scripts/templates/macos/Makefile examples/templates/emptyExample/
cp scripts/templates/macos/config.make examples/templates/emptyExample/
cd examples/templates/emptyExample/
make -j Debug

echo "**** Building allAddonsExample ****"
cd $ROOT
cp scripts/templates/macos/Makefile examples/templates/allAddonsExample/
cp scripts/templates/macos/config.make examples/templates/allAddonsExample/
cd examples/templates/allAddonsExample/
make -j Debug

echo "**** Running unit tests ****"
cd $ROOT/tests
for group in *; do
if [ -d $group ]; then
for test in $group/*; do
if [ -d $test ]; then
cd $test
cp ../../../scripts/templates/macos/Makefile .
cp ../../../scripts/templates/macos/config.make .
make -j Debug
make RunDebug
errorcode=$?
if [[ $errorcode -ne 0 ]]; then
exit $errorcode
fi
cd $ROOT/tests
fi
done
fi
done

0 comments on commit 26025f7

Please sign in to comment.