-
Notifications
You must be signed in to change notification settings - Fork 0
57 lines (50 loc) · 2.64 KB
/
Copy pathbuild-macos-libs.yml
File metadata and controls
57 lines (50 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: Build macOS bundled dylibs
on:
workflow_dispatch:
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Install build tools
run: |
export HOMEBREW_NO_REQUIRE_TAP_TRUST=1
brew install cmake glfw glew
- name: Build GLFW universal from source
run: |
GLFW_VER=$(brew info --json glfw | python3 -c "import sys,json; print(json.load(sys.stdin)[0]['versions']['stable'])")
curl -L "https://github.com/glfw/glfw/archive/refs/tags/${GLFW_VER}.tar.gz" -o glfw.tar.gz
tar xf glfw.tar.gz
cd glfw-${GLFW_VER}
cmake -B build-arm64 -DCMAKE_OSX_ARCHITECTURES=arm64 -DCMAKE_OSX_DEPLOYMENT_TARGET=11.0 -DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF
cmake --build build-arm64
cmake -B build-x64 -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.13 -DBUILD_SHARED_LIBS=ON -DGLFW_BUILD_EXAMPLES=OFF -DGLFW_BUILD_TESTS=OFF -DGLFW_BUILD_DOCS=OFF
cmake --build build-x64
lipo -create build-arm64/src/libglfw.3.dylib build-x64/src/libglfw.3.dylib -output ../libglfw.3.dylib
install_name_tool -id @rpath/libglfw.3.dylib ../libglfw.3.dylib
cd ..
- name: Build GLEW universal from source
run: |
GLEW_VER=$(brew info --json glew | python3 -c "import sys,json; print(json.load(sys.stdin)[0]['versions']['stable'])")
curl -L "https://github.com/nigels-com/glew/releases/download/glew-${GLEW_VER}/glew-${GLEW_VER}.tgz" -o glew.tgz
tar xf glew.tgz
cd glew-${GLEW_VER}
make SYSTEM=darwin CC="clang -arch arm64 -mmacosx-version-min=11.0" LD="clang -arch arm64 -mmacosx-version-min=11.0" LDFLAGS="-framework OpenGL" GLEW_DEST=../glew-arm64 install.lib
make clean
make SYSTEM=darwin CC="clang -arch x86_64 -mmacosx-version-min=10.13" LD="clang -arch x86_64 -mmacosx-version-min=10.13" LDFLAGS="-framework OpenGL" GLEW_DEST=../glew-x64 install.lib
cd ..
lipo -create glew-arm64/lib/libGLEW.dylib glew-x64/lib/libGLEW.dylib -output libGLEW.dylib
install_name_tool -id @rpath/libGLEW.dylib libGLEW.dylib
- name: Copy universal dylibs to libs/macos/
run: |
mkdir -p libs/macos
cp libglfw.3.dylib libs/macos/
cp libGLEW.dylib libs/macos/
echo "Architecture check:"
lipo -info libs/macos/libglfw.3.dylib
lipo -info libs/macos/libGLEW.dylib
- uses: actions/upload-artifact@v4
with:
name: macos-dylibs
path: libs/macos/
retention-days: 90