Skip to content

Commit 26b8556

Browse files
authored
Merge pull request #290 from murraystevenson/macCI15
CI : Update macOS CI to Xcode 15
2 parents 600c405 + 7568b3b commit 26b8556

13 files changed

Lines changed: 58 additions & 10 deletions

File tree

.github/workflows/main.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,10 @@ jobs:
8080

8181
- name: Install toolchain (macOS)
8282
run: |
83-
# Choose the earliest Xcode version available on a macos-14 runner.
84-
sudo xcode-select -s /Applications/Xcode_14.3.1.app/Contents/Developer
8583
# Install build requirements.
86-
sudo pip3 install scons==4.6.0 --break-system-packages
84+
pipx install scons==4.6.0
8785
brew install gpatch
86+
echo "/opt/homebrew/opt/gpatch/libexec/gnubin" >> $GITHUB_PATH
8887
brew install bison
8988
# Make sure bison is discoverable.
9089
echo BISON_ROOT=/opt/homebrew/opt/bison >> $GITHUB_ENV
@@ -94,9 +93,16 @@ jobs:
9493
# Remove CommandLineTools so there is no potential for conflict with
9594
# our selected Xcode version.
9695
sudo rm -rf /Library/Developer/CommandLineTools
97-
sudo rm -rf /Applications/Python\ 3.10
96+
sudo rm -rf /Applications/Python\ 3.11
9897
# Remove little-cms2 to prevent our LibRaw builds from finding it.
9998
brew uninstall --ignore-dependencies little-cms2
99+
# Pin CMake to 3.31.6
100+
brew uninstall cmake
101+
brew tap-new --no-git "local/pinned" >/dev/null
102+
cmakeDir="$(brew --repo "local/pinned")/Formula"
103+
mkdir -p "$cmakeDir"
104+
curl -fsSL "https://raw.githubusercontent.com/Homebrew/homebrew-core/b4e46db74e74a8c1650b38b1da222284ce1ec5ce/Formula/c/cmake.rb" -o "$cmakeDir/cmake.rb"
105+
brew install "local/pinned/cmake"
100106
shell: bash
101107
if: runner.os == 'macOS'
102108

Boost/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# even though we tell it quite explicitly to use the one in {buildDir}.
1919
"DYLD_FALLBACK_FRAMEWORK_PATH" : "{buildDir}/lib",
2020
"LD_LIBRARY_PATH" : "{buildDir}/lib",
21-
"MACOSX_DEPLOYMENT_TARGET" : "10.9",
21+
"MACOSX_DEPLOYMENT_TARGET" : "12.0",
2222
# Give a helping hand to find the python headers, since the bootstrap
2323
# below doesn't always seem to get it right.
2424
"CPLUS_INCLUDE_PATH" : "{pythonIncludeDir}",

Changes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- Boost : Updated to version 1.85.0.
55
- Cortex : Updated to version 10.7.0.0a2.
66
- Imath : Updated to version 3.1.12.
7+
- Jemalloc : Removed when building on macOS.
78
- LLVM : Updated to version 17.0.6.
89
- OpenColorIO : Updated to version 2.4.2.
910
- OpenEXR : Updated to version 3.3.6.

Cycles/config.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,21 @@
1212

1313
"dependencies" : [ "Boost", "OpenJPEG", "OpenImageIO", "TBB", "Alembic", "Embree", "OpenColorIO", "OpenVDB", "OpenShadingLanguage", "OpenSubdiv", "OpenPGL", "LibWebP", "Zstandard" ],
1414

15+
"environment" : {
16+
17+
# Needed because the build process runs oslc.
18+
"DYLD_FALLBACK_LIBRARY_PATH" : "{buildDir}/lib",
19+
20+
},
21+
1522
"commands" : [
1623

1724
# The Cycles archive includes empty folders under `./lib`
1825
# named `{platform}_{architecture}`. The existence of a folder
1926
# in lib matching the current platform and architecture causes
2027
# the build to only look for dependencies within it, so we
2128
# remove them to allow dependencies to be found in `{buildDir}`.
22-
"rmdir --ignore-fail-on-non-empty ./lib/*",
29+
"rm -r ./lib/*",
2330

2431
"mkdir build",
2532
"cd build &&"

Jemalloc/config.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,10 @@
2424
"lib/libjemalloc*{sharedLibraryExtension}*",
2525

2626
],
27+
28+
"platform:macos" : {
29+
30+
"enabled" : False,
31+
32+
},
2733
}

OpenImageIO/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
" -D BUILD_MISSING_FMT=NO"
3737
" -D OIIO_BUILD_TESTS=NO"
3838
" -D OIIO_DOWNLOAD_MISSING_TESTDATA=NO"
39-
" -D PYTHON_VERSION={pythonMajorVersion}"
39+
" -D PYTHON_VERSION={pythonVersion}"
4040
" -D Python_ROOT_DIR={buildDir}"
4141
" -D Python_FIND_STRATEGY=LOCATION"
4242
# These next two disable `iv`. This fails to

OpenShadingLanguage/config.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
" -D USE_BATCHED={useBatched}"
4040
" -D OSL_SHADER_INSTALL_DIR={buildDir}/shaders"
4141
" -D OSL_BUILD_PLUGINS=0"
42+
" -D PYTHON_VERSION={pythonVersion}"
4243
" -D Python_ROOT_DIR={buildDir}"
4344
" -D Python_FIND_STRATEGY=LOCATION"
4445
" {extraArguments}"
@@ -82,7 +83,7 @@
8283

8384
"variables" : {
8485

85-
"extraCommands" : "mv {buildDir}/lib/python{pythonVersion}/site-packages/oslquery.so {pythonLibDir}/python{pythonVersion}/site-packages/oslquery.so",
86+
"extraCommands" : "mv {buildDir}/lib/python{pythonVersion}/site-packages/oslquery {pythonLibDir}/python{pythonVersion}/site-packages/oslquery",
8687
"useBatched" : "0",
8788

8889
},

PySide/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"environment" : {
4141

4242
"DYLD_FRAMEWORK_PATH" : "{buildDir}/lib",
43+
"DYLD_FALLBACK_LIBRARY_PATH" : "{buildDir}/lib",
4344

4445
},
4546

Python/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070

7171
"environment" : {
7272

73-
"MACOSX_DEPLOYMENT_TARGET" : "11.0",
73+
"MACOSX_DEPLOYMENT_TARGET" : "12.0",
7474

7575
},
7676

Qt/config.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,12 @@
105105

106106
"platform:macos" : {
107107

108+
"environment" : {
109+
110+
"DYLD_FALLBACK_LIBRARY_PATH" : "{buildDir}/lib",
111+
112+
},
113+
108114
"variables" : {
109115

110116
"extraArgs" : "-no-freetype QMAKE_APPLE_DEVICE_ARCHS=arm64",

0 commit comments

Comments
 (0)