Skip to content

Add support for Mac Catalyst. Fixes #168 #639

Add support for Mac Catalyst. Fixes #168

Add support for Mac Catalyst. Fixes #168 #639

Workflow file for this run

name: Nightly Build
on:
push:
branches:
- '**'
jobs:
catalyst-arm64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Compile
env:
CC: clang
CFLAGS: '-O2 -g -target arm64-apple-ios-macabi -miphoneos-version-min=13.1 -flto -fomit-frame-pointer -fno-stack-protector -pipe'
LDFLAGS: '-Wl,-dead_strip_dylibs'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/catalyst/arm64 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D USE_APPLICATION_SERVICES=OFF \
-D USE_IOKIT=OFF \
-D USE_APPKIT=OFF \
-D BUILD_DEMO=OFF
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
catalyst-x86_64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Compile
env:
CC: clang
CFLAGS: '-O2 -g -target x86_64-apple-ios-macabi -miphoneos-version-min=13.1 -flto -fomit-frame-pointer -fno-stack-protector -pipe'
LDFLAGS: '-Wl,-dead_strip_dylibs'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/catalyst/x86_64 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D USE_APPLICATION_SERVICES=OFF \
-D USE_IOKIT=OFF \
-D USE_APPKIT=OFF \
-D BUILD_DEMO=OFF
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
macos-arm64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Compile
env:
CC: clang
CFLAGS: '-O2 -g -target arm64-apple-macos -mmacosx-version-min=10.5 -flto -fomit-frame-pointer -fno-stack-protector -pipe'
LDFLAGS: '-Wl,-dead_strip_dylibs'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/macos/arm64 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
macos-x86_64:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Compile
env:
CC: clang
CFLAGS: '-O2 -g -target x86_64-apple-macos -mmacosx-version-min=10.5 -flto -fomit-frame-pointer -fno-stack-protector -pipe'
LDFLAGS: '-Wl,-dead_strip_dylibs'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/macos/x86_64 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
linux-arm:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Setup
shell: bash
run: |
sudo rm -Rf /etc/apt/sources.list.d
sudo bash -c 'source /etc/lsb-release && echo "
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME} main universe
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME}-updates main universe
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME}-backports main universe
# This only seems to be required on GitHub images
deb [arch=amd64,i386] https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu ${DISTRIB_CODENAME} main
deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports ${DISTRIB_CODENAME} main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports ${DISTRIB_CODENAME}-updates main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports ${DISTRIB_CODENAME}-backports main universe
# This only seems to be required on GitHub images
deb [arch=arm64,armhf] https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu ${DISTRIB_CODENAME} main
" > /etc/apt/sources.list'
sudo dpkg --add-architecture armhf
sudo apt-get update -m
sudo apt-get install \
binutils-arm-linux-gnueabihf \
gcc-arm-linux-gnueabihf
sudo apt-get install \
libx11-dev:armhf \
libxtst-dev:armhf \
libxt-dev:armhf \
libxinerama-dev:armhf \
libx11-xcb-dev:armhf \
libxkbcommon-dev:armhf \
libxkbcommon-x11-dev:armhf \
libxkbfile-dev:armhf
- name: Compile
env:
CC: arm-linux-gnueabihf-gcc
CFLAGS: '-Os -march=armv7ve -mfpu=vfp -mfloat-abi=hard -g -flto -fomit-frame-pointer -fno-stack-protector -pipe'
LDFLAGS: '-fuse-ld=gold -Wl,-O1 -Wl,--as-needed'
PKG_CONFIG_PATH: '/usr/lib/arm-linux-gnueabihf/pkgconfig'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/linux/arm \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
linux-arm64:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Setup
shell: bash
run: |
sudo rm -Rf /etc/apt/sources.list.d/*
sudo bash -c 'source /etc/lsb-release && echo "
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME} main universe
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME}-updates main universe
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME}-backports main universe
# This only seems to be required on GitHub images
deb [arch=amd64,i386] https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu ${DISTRIB_CODENAME} main
deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports ${DISTRIB_CODENAME} main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports ${DISTRIB_CODENAME}-updates main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com/ubuntu-ports ${DISTRIB_CODENAME}-backports main universe
# This only seems to be required on GitHub images
deb [arch=arm64,armhf] https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu ${DISTRIB_CODENAME} main
" > /etc/apt/sources.list'
sudo dpkg --add-architecture arm64
sudo apt-get update -m
sudo apt-get install \
binutils-aarch64-linux-gnu \
gcc-aarch64-linux-gnu
sudo apt-get install \
libx11-dev:arm64 \
libxtst-dev:arm64 \
libxt-dev:arm64 \
libxinerama-dev:arm64 \
libx11-xcb-dev:arm64 \
libxkbcommon-dev:arm64 \
libxkbcommon-x11-dev:arm64 \
libxkbfile-dev:arm64
- name: Compile
env:
CC: aarch64-linux-gnu-gcc
CFLAGS: '-Os -march=armv8-a+crc -mtune=cortex-a53 -g -flto -fomit-frame-pointer -fno-stack-protector -pipe'
LDFLAGS: '-fuse-ld=gold -Wl,-O1 -Wl,--as-needed'
PKG_CONFIG_PATH: '/usr/lib/aarch64-linux-gnu/pkgconfig'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/linux/arm64 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
linux-x86:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Setup
shell: bash
run: |
sudo rm -Rf /etc/apt/sources.list.d
sudo bash -c 'source /etc/lsb-release && echo "
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME} main universe
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME}-updates main universe
deb [arch=amd64,i386] http://us.archive.ubuntu.com/ubuntu ${DISTRIB_CODENAME}-backports main universe
# This only seems to be required on GitHub images
deb [arch=amd64,i386] https://ppa.launchpadcontent.net/ubuntu-toolchain-r/test/ubuntu ${DISTRIB_CODENAME} main
" > /etc/apt/sources.list'
sudo dpkg --add-architecture i386
sudo apt-get update -m
sudo apt-get install \
binutils-i686-linux-gnu \
gcc-i686-linux-gnu
sudo apt-get install \
libx11-dev:i386 \
libxtst-dev:i386 \
libxt-dev:i386 \
libxinerama-dev:i386 \
libx11-xcb-dev:i386 \
libxkbcommon-dev:i386 \
libxkbcommon-x11-dev:i386 \
libxkbfile-dev:i386
- name: Compile
env:
CC: i686-linux-gnu-gcc
CFLAGS: '-O2 -march=i686 -mtune=generic -g -fomit-frame-pointer -flto -fno-stack-protector -pipe'
LDFLAGS: '-fuse-ld=gold -Wl,-O1 -Wl,--as-needed'
PKG_CONFIG_PATH: '/usr/lib/i386-linux-gnu/pkgconfig'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/linux/x86 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
linux-x86_64:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v1
with:
submodules: true
- name: Setup
shell: bash
run: |
sudo apt-get install \
libx11-dev:amd64 \
libxtst-dev:amd64 \
libxt-dev:amd64 \
libxinerama-dev:amd64 \
libx11-xcb-dev:amd64 \
libxkbcommon-dev:amd64 \
libxkbcommon-x11-dev:amd64 \
libxkbfile-dev:amd64
- name: Compile
env:
CC: x86_64-linux-gnu-gcc
CFLAGS: '-O2 -march=x86-64 -mtune=generic -g -fomit-frame-pointer -flto -fno-stack-protector -pipe'
LDFLAGS: '-fuse-ld=gold -Wl,-O1 -Wl,--as-needed'
PKG_CONFIG_PATH: '/usr/lib/x86_64-linux-gnu/pkgconfig'
shell: bash
run: |
cmake -B ${{github.workspace}}/build \
-G "Unix Makefiles" \
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}/dist/linux/x86_64 \
-D CMAKE_VERBOSE_MAKEFILE=true \
-D BUILD_SHARED_LIBS=ON \
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}/build \
--parallel 2 \
--config RelWithDebInfo \
--clean-first
cmake --install ${{github.workspace}}/build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
windows-arm:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Setup
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_arm
- name: Compile
shell: cmd
run: |
cmake -B ${{github.workspace}}\build ^
-G "Visual Studio 17 2022" -A ARM ^
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}\dist\windows\arm ^
-D CMAKE_VERBOSE_MAKEFILE=true ^
-D BUILD_SHARED_LIBS=ON ^
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}\build ^
--parallel 2 ^
--config RelWithDebInfo ^
--clean-first
cmake --install ${{github.workspace}}\build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
windows-x86:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Setup
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64_x86
- name: Compile
shell: cmd
run: |
cmake -B ${{github.workspace}}\build ^
-G "Visual Studio 17 2022" -A Win32 ^
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}\dist\windows\x86 ^
-D CMAKE_VERBOSE_MAKEFILE=true ^
-D BUILD_SHARED_LIBS=ON ^
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}\build ^
--parallel 2 ^
--config RelWithDebInfo ^
--clean-first
cmake --install ${{github.workspace}}\build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true
windows-x86_64:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Setup
uses: ilammy/msvc-dev-cmd@v1
with:
arch: amd64
- name: Compile
shell: cmd
run: |
cmake -B ${{github.workspace}}\build ^
-G "Visual Studio 17 2022" -A x64 ^
-D CMAKE_INSTALL_PREFIX=${{github.workspace}}\dist\windows\x86_64 ^
-D CMAKE_VERBOSE_MAKEFILE=true ^
-D BUILD_SHARED_LIBS=ON ^
-D BUILD_DEMO=ON
cmake --build ${{github.workspace}}\build ^
--parallel 2 ^
--config RelWithDebInfo ^
--clean-first
cmake --install ${{github.workspace}}\build --config RelWithDebInfo
- name: Upload
uses: actions/upload-artifact@v4
with:
name: ${{github.job}}
path: ${{github.workspace}}/dist/**/*
overwrite: true