summary refs log tree commit diff
path: root/.github/workflows/build_mac64.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build_mac64.yml')
-rw-r--r--.github/workflows/build_mac64.yml60
1 files changed, 60 insertions, 0 deletions
diff --git a/.github/workflows/build_mac64.yml b/.github/workflows/build_mac64.yml
new file mode 100644
index 0000000..d4dbf95
--- /dev/null
+++ b/.github/workflows/build_mac64.yml
@@ -0,0 +1,60 @@
+name: Build latest (macOS 64 bit)
+# trigger via either push to selected branches or on manual run
+on:
+  push:
+    branches:
+      - main
+      - master
+  workflow_dispatch:
+
+
+concurrency:
+  group: ${{ github.ref }}-mac64
+  cancel-in-progress: true
+
+jobs:
+  build:
+    runs-on: macOS-latest
+    steps:
+      - uses: actions/checkout@v4
+      - name: Compile 64 bit macOS builds
+        shell: bash
+        id: compile
+        env: 
+          COMMON_FLAGS:      "-O1 -s -fno-stack-protector -fno-math-errno -Qn"
+          MAC_ARM64_FLAGS:   "-fvisibility=hidden -rdynamic -DCC_BUILD_ICON -DCC_GFX_BACKEND=CC_GFX_BACKEND_GL2 -arch arm64"
+          MAC_INTEL64_FLAGS: "-fvisibility=hidden -rdynamic -DCC_BUILD_ICON -arch x86_64"
+        run: |
+          LATEST_FLAG=-DCC_COMMIT_SHA=\"$(git rev-parse --short "$GITHUB_SHA")\"
+          cd src
+          
+          MACOSX_DEPLOYMENT_TARGET=10.5 clang *.c Window_cocoa.m ${{ env.COMMON_FLAGS }} ${{ env.MAC_INTEL64_FLAGS }} $LATEST_FLAG -o cc-mac64-gl1 -framework Cocoa -framework OpenGL -framework IOKit -lobjc
+          MACOSX_DEPLOYMENT_TARGET=10.5 clang *.c Window_cocoa.m ${{ env.COMMON_FLAGS }} ${{ env.MAC_INTEL64_FLAGS }} $LATEST_FLAG -DCC_GFX_BACKEND=CC_GFX_BACKEND_GL2 -o cc-mac64-gl2 -framework Cocoa -framework OpenGL -framework IOKit -lobjc
+          
+          clang *.c Window_cocoa.m ${{ env.COMMON_FLAGS }} ${{ env.MAC_ARM64_FLAGS }} $LATEST_FLAG -o cc-mac-arm64 -framework Cocoa -framework OpenGL -framework IOKit -lobjc
+          # https://wiki.freepascal.org/Code_Signing_for_macOS#Ad_hoc_signing
+
+      - uses: ./.github/actions/notify_failure
+        if: ${{ always() && steps.compile.outcome == 'failure' }}
+        with:
+          NOTIFY_MESSAGE: 'Failed to compile 64 bit macOS builds'
+          WEBHOOK_URL: '${{ secrets.WEBHOOK_URL }}'
+          
+   
+      - uses: ./.github/actions/upload_build
+        if: ${{ always() && steps.compile.outcome == 'success' }}
+        with:
+          SOURCE_FILE: 'src/cc-mac64-gl1'
+          DEST_NAME: 'ClassiCube-mac64'
+          
+      - uses: ./.github/actions/upload_build
+        if: ${{ always() && steps.compile.outcome == 'success' }}
+        with:
+          SOURCE_FILE: 'src/cc-mac64-gl2'
+          DEST_NAME: 'ClassiCube-mac64-ModernGL'
+          
+      - uses: ./.github/actions/upload_build
+        if: ${{ always() && steps.compile.outcome == 'success' }}
+        with:
+          SOURCE_FILE: 'src/cc-mac-arm64'
+          DEST_NAME: 'ClassiCube-mac-ARM64'