Skip to content

Commit c96045f

Browse files
authored
Merge pull request LuxCoreRender#29 from howetuft/macos-15-2
Macos 15 2
2 parents 29d0a92 + 26bc9c9 commit c96045f

7 files changed

Lines changed: 78 additions & 40 deletions

File tree

.github/workflows/build.yml

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
fail-fast: False
3030
matrix:
3131
# macos-15 has to be renamed into macos-15-arm64, otherwise, it will
32-
# create a name collision in the cache restoration keys with
32+
# generate a name collision in the cache restoration keys with
3333
# macos-15-intel.
3434
os: [ubuntu-latest, windows-latest, macos-15-intel, macos-15-arm64]
3535

@@ -166,36 +166,6 @@ jobs:
166166
if: runner.os == 'Windows'
167167
run: git config --system core.longpaths true
168168

169-
#- name: Prepare MacOS
170-
#if: runner.os == 'macOS'
171-
#shell: bash
172-
#run: |
173-
## We make conan believe we use apple-clang (see profiles), but
174-
## actually we use recent version of llvm, to get full compatibility
175-
## with C++20 (in particular: joining threads)
176-
## https://railsware.com/blog/creation-and-using-clang-plugin-with-xcode/
177-
178-
## llvm 20
179-
#brew install llvm@20
180-
#LLVM_PREFIX=$(brew --prefix llvm@20)
181-
#LLVM_BIN=$(brew --prefix llvm@20)/bin
182-
#echo "CC=${LLVM_BIN}/clang" >> $GITHUB_ENV
183-
#echo "CXX=${LLVM_BIN}/clang++" >> $GITHUB_ENV
184-
#echo "AR=${LLVM_BIN}/llvm-ar" >> $GITHUB_ENV
185-
#echo "RANLIB=${LLVM_BIN}/llvm-ranlib" >> $GITHUB_ENV
186-
#echo "LIBTOOL=${LLVM_BIN}/llvm-libtool" >> $GITHUB_ENV
187-
188-
#cp -r $LLVM_PREFIX/Toolchains /Library/Developer/Toolchains
189-
#sudo xcode-select -s /Library/Developer/CommandLineTools/
190-
191-
## Set paths
192-
#echo "PATH=${LLVM_BIN}:${PATH}" >> $GITHUB_ENV
193-
#echo "DYLD_LIBRARY_PATH=${LLVM_PREFIX}/lib:${DYLD_LIBRARY_PATH}" >> $GITHUB_ENV
194-
195-
## Set flags
196-
#echo "LDFLAGS=${LD_FLAGS} -L${LLVM_PREFIX}/lib" >> $GITHUB_ENV
197-
#echo "CPPFLAGS=${CPPFLAGS} -I${LLVM_PREFIX}/include" >> $GITHUB_ENV
198-
199169
- name: Check MacOS
200170
if: runner.os == 'macOS'
201171
shell: bash

conan-local-recipes/recipes/nvrtc/binary/conandata.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,12 @@ sources:
88
x86_64:
99
url: "https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-12.8.93-archive.zip"
1010
sha256: "a63302a077f0248a743a1a7caa7dbd80d0fac56c6cfa9c41fa05fac9b7e5eda5"
11+
"13.0.88":
12+
Linux:
13+
x86_64:
14+
url: "https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvrtc/linux-x86_64/cuda_nvrtc-linux-x86_64-13.0.88-archive.tar.xz"
15+
sha256: "00038aac08e1dba6f1933237dbfb217ac6452ae24fab970edcac808f103ca64b"
16+
Windows:
17+
x86_64:
18+
url: "https://developer.download.nvidia.com/compute/cuda/redist/cuda_nvrtc/windows-x86_64/cuda_nvrtc-windows-x86_64-13.0.88-archive.zip"
19+
sha256: "8c50a52467826167e0dbe99936140c52d62272bfc5849fe2d6587d050c8c5d29"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
11
versions:
22
"12.8.93":
33
folder: "binary"
4+
"13.0.88":
5+
folder: "binary"

conan-profiles/macos-vars-ARM64.cmake

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,6 @@ set(CMAKE_OSX_DEPLOYMENT_TARGET "14.2")
55
set(MACOS_VERSION_MIN "14.2")
66

77
# Set tools
8-
# TODO
9-
#set(CMAKE_AR "$ENV{AR}")
10-
#set(CMAKE_RANLIB "$ENV{RANLIB}")
11-
#set(LINKER_FLAGS
12-
#"-Wl,-flat_namespace -Wl,-export_dynamic -Wl,-headerpad_max_install_names"
13-
#)
14-
#set(CMAKE_SHARED_LINKER_FLAGS ${LINKER_FLAGS})
158
set(CMAKE_VERBOSE_MAKEFILE ON)
169

1710

conanfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
LIBDEFLATE_VERSION = "1.23"
2525
MINIZIP_VERSION = "4.0.7"
2626
NINJA_VERSION = "1.13.1"
27-
NVRTC_VERSION = "12.8.93"
27+
NVRTC_VERSION = "13.0.88"
2828
OCIO_VERSION = "2.5.0"
2929
OIIO_VERSION = "3.1.6.2"
3030
OIDN_VERSION = "2.3.3"

run-conan.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,5 +160,6 @@ conan graph info \
160160
> graph.json
161161
conan list --graph=graph.json --format=json --graph-binaries=Cache > list.json
162162
conan cache save -vverbose --file=${cache_dir}/conan-cache-save.tgz --list=list.json
163-
ls $cache_dir
163+
# Save build info
164+
python utils/get-build-info.py > ${cache_dir}/build-info.json
164165
echo "::endgroup::"

utils/get-build-info.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/usr/bin/python
2+
import subprocess
3+
import re
4+
from datetime import datetime
5+
import json
6+
from pathlib import Path
7+
import sys
8+
9+
# Execute the `cmake --system-information` command and capture its output
10+
cmake_output = subprocess.check_output(
11+
["cmake", "--system-information"],
12+
encoding="utf-8",
13+
universal_newlines=True
14+
)
15+
16+
# Initialize a dictionary to store (variable, value) pairs
17+
cmake_info = {}
18+
19+
# Filter relevant section ("VARIABLES")
20+
cmake_lines = []
21+
record = False
22+
for line in cmake_output.splitlines():
23+
# Skip empty lines or separators
24+
if line.strip() == "" or line.startswith("//") or line.startswith("==========="):
25+
continue
26+
if line.startswith("==="):
27+
record = "VARIABLES" in line
28+
continue
29+
if record:
30+
cmake_lines.append(line)
31+
32+
# Parse
33+
pattern = re.compile(r"CMAKE_([A-Z_]*)\s+\"(.*)\"")
34+
for line in cmake_lines:
35+
# Check for a new variable=value pair
36+
# We consider only monoline entries
37+
match = pattern.match(line)
38+
if match is None:
39+
continue
40+
key = match.group(1)
41+
value = match.group(2)
42+
cmake_info[key] = value
43+
44+
# Filter on relevant entries
45+
KEYS = {
46+
"SYSTEM",
47+
"SYSTEM_NAME",
48+
"CXX_COMPILER",
49+
"CXX_COMPILER_ID",
50+
"CXX_COMPILER_ARCHITECTURE_ID",
51+
"CXX_COMPILER_VERSION",
52+
"C_COMPILER",
53+
"C_COMPILER_ID",
54+
"C_COMPILER_ARCHITECTURE_ID",
55+
"C_COMPILER_VERSION",
56+
}
57+
cmake_info = {key: cmake_info[key] for key in KEYS}
58+
59+
# Add time
60+
cmake_info["TIMESTAMP"] = str(datetime.now())
61+
62+
# Export the dictionary in JSON format
63+
print(json.dumps(cmake_info, sort_keys=True, indent=4))

0 commit comments

Comments
 (0)