1
1
#! /bin/sh -ex
2
2
3
- export HOMEBREW_NO_AUTO_UPDATE=1
4
- brew install -f --overwrite nasm ninja git p7zip create-dmg ccache pipenv
5
-
6
- # /usr/sbin/softwareupdate --install-rosetta --agree-to-license
7
- arch -x86_64 /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) "
8
- arch -x86_64 /usr/local/bin/brew update
9
- arch -x86_64 /usr/local/bin/brew install -f --overwrite llvm@16 glew cmake sdl2 vulkan-headers ffmpeg
10
- arch -x86_64 /usr/local/bin/brew link -f llvm@16
11
-
12
- # moltenvk based on commit for 1.2.4 release
13
- wget https://raw.githubusercontent.com/Homebrew/homebrew-core/b233d4f9f40f26d81da11140defbfd578cfe4a69/Formula/molten-vk.rb
14
- arch -x86_64 /usr/local/bin/brew install -f --overwrite ./molten-vk.rb
3
+ if [ " $( arch -x86_64 echo test) " == " test" ]; then
4
+ echo " Rosetta is installed or building on Intel"
5
+ else
6
+ echo " Installing Rosetta"
7
+ /usr/sbin/softwareupdate --install-rosetta --agree-to-license
8
+ fi
9
+
10
+ if [ -z " $INSTALL_DEPS " ]; then
11
+ export INSTALL_DEPS=" true"
12
+ fi
13
+
14
+ if [ " $INSTALL_DEPS " = " true" ] ; then
15
+ export HOMEBREW_NO_AUTO_UPDATE=1
16
+ brew -v || /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) "
17
+ brew install -f --overwrite nasm ninja git p7zip create-dmg ccache pipenv
18
+
19
+ arch -x86_64 /usr/local/bin/brew -v || arch -x86_64 /bin/bash -c " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) "
20
+ arch -x86_64 /usr/local/bin/brew update
21
+ arch -x86_64 /usr/local/bin/brew install -f --overwrite llvm@16 glew cmake sdl2 vulkan-headers ffmpeg
22
+ arch -x86_64 /usr/local/bin/brew link -f llvm@16
23
+
24
+ # moltenvk based on commit for 1.2.4 release
25
+ wget https://raw.githubusercontent.com/Homebrew/homebrew-core/b233d4f9f40f26d81da11140defbfd578cfe4a69/Formula/molten-vk.rb
26
+ arch -x86_64 /usr/local/bin/brew install -f --overwrite ./molten-vk.rb
27
+ fi
28
+
15
29
# export MACOSX_DEPLOYMENT_TARGET=12.0
16
30
export CXX=clang++
17
31
export CC=clang
@@ -28,8 +42,13 @@ export WORKDIR;
28
42
WORKDIR=" $( pwd) "
29
43
30
44
# Get Qt
45
+ if [ -z " $QT_VER " ]; then
46
+ export QT_VER=" 6.5.2"
47
+ fi
48
+
31
49
if [ ! -d " /tmp/Qt/$QT_VER " ]; then
32
50
mkdir -p " /tmp/Qt"
51
+ rm -rf qt-downloader
33
52
git clone https://github.com/engnr/qt-downloader.git
34
53
cd qt-downloader
35
54
git checkout f52efee0f18668c6d6de2dec0234b8c4bc54c597
@@ -45,27 +64,35 @@ ditto "/tmp/Qt/$QT_VER" "qt-downloader/$QT_VER"
45
64
export Qt6_DIR=" $WORKDIR /qt-downloader/$QT_VER /clang_64/lib/cmake/Qt$QT_VER_MAIN "
46
65
export SDL2_DIR=" $BREW_X64_PATH /opt/sdl2/lib/cmake/SDL2"
47
66
48
- export PATH=" $BREW_X64_PATH /opt/llvm@16/bin:$WORKDIR /qt-downloader/$QT_VER /clang_64/bin:$BREW_BIN :$BREW_SBIN :/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:$PATH "
67
+ export PATH=" $WORKDIR /qt-downloader/$QT_VER /clang_64/bin:$BREW_BIN :$BREW_SBIN :/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Apple/usr/bin:$PATH "
68
+
69
+ if [ " $USE_APPLE_CLANG " = " true" ]; then
70
+ echo " Building using Apple Clang"
71
+ else
72
+ echo " Building using Homebrew Clang"
73
+ export PATH=" $BREW_X64_PATH /opt/llvm@16/bin:$PATH "
74
+ fi
75
+
49
76
export LDFLAGS=" -L$BREW_X64_PATH /lib -Wl,-rpath,$BREW_X64_PATH /lib"
50
77
export CPPFLAGS=" -I$BREW_X64_PATH /include -msse -msse2 -mcx16 -no-pie"
51
78
export LIBRARY_PATH=" $BREW_X64_PATH /lib"
52
79
export LD_LIBRARY_PATH=" $BREW_X64_PATH /lib"
53
80
54
81
export VULKAN_SDK
55
82
VULKAN_SDK=" $BREW_X64_PATH /opt/molten-vk"
56
- ln -s " $VULKAN_SDK /lib/libMoltenVK.dylib" " $VULKAN_SDK /lib/libvulkan.dylib"
83
+ ln -s " $VULKAN_SDK /lib/libMoltenVK.dylib" " $VULKAN_SDK /lib/libvulkan.dylib" || echo " Using existing libvulkan.dylib "
57
84
export VK_ICD_FILENAMES=" $VULKAN_SDK /share/vulkan/icd.d/MoltenVK_icd.json"
58
85
59
86
export LLVM_DIR
60
- LLVM_DIR=" BREW_X64_PATH/opt/llvm@16"
87
+ LLVM_DIR=" $ BREW_X64_PATH /opt/llvm@16"
61
88
# exclude FAudio, SPIRV and LLVM, and sdl from submodule update
62
89
# shellcheck disable=SC2046
63
90
git submodule -q update --init --depth=1 --jobs=8 $( awk ' /path/ && !/llvm/ && !/SPIRV/ && !/SDL/ { print $3 }' .gitmodules)
64
91
65
92
# 3rdparty fixes
66
93
sed -i ' ' " s/extern const double NSAppKitVersionNumber;/const double NSAppKitVersionNumber = 1343;/g" 3rdparty/hidapi/hidapi/mac/hid.c
67
94
68
- mkdir build && cd build || exit 1
95
+ mkdir -p build && cd build || exit 1
69
96
70
97
" $BREW_X64_PATH /bin/cmake" .. \
71
98
-DUSE_SDL=ON \
0 commit comments