Skip to content

Commit df3856d

Browse files
committed
Add sysroot parameters to Zig CMake toolchain
1 parent 98e2fc0 commit df3856d

File tree

6 files changed

+23
-7
lines changed

6 files changed

+23
-7
lines changed

eng/native/cmake/zig-objcopy.cmd

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
@echo off
2+
zig objcopy %*

eng/native/cmake/zig-objcopy.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
zig objcopy "$@"

eng/native/cmake/zig-toolchain.cmake

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ if(CMAKE_GENERATOR MATCHES "Visual Studio")
44
message(FATAL_ERROR "Visual Studio generator not supported, use: cmake -G Ninja")
55
endif()
66

7-
if(NOT ZIG_TARGET MATCHES "^([a-zZ-Z0-9_]+)-([a-zZ-Z0-9_]+)-([a-zZ-Z0-9_.]+)$")
7+
if(NOT ZIG_TARGET MATCHES "^([a-zZ-Z0-9_]+)-([a-zZ-Z0-9_]+)-(([a-zZ-Z0-9_]+)\.?([a-zZ-Z0-9_.]*))$")
88
message(FATAL_ERROR "Expected -DZIG_TARGET=<arch>-<os>-<abi>")
99
endif()
1010

1111
set(ZIG_ARCH ${CMAKE_MATCH_1})
1212
set(ZIG_OS ${CMAKE_MATCH_2})
1313
set(ZIG_ABI ${CMAKE_MATCH_3})
14+
set(LINUX_ABI ${CMAKE_MATCH_4})
1415

1516
if(ZIG_OS STREQUAL "linux")
1617
set(CMAKE_SYSTEM_NAME "Linux")
@@ -38,3 +39,17 @@ set(CMAKE_RC_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-rc${SCRIPT_SUFFIX}")
3839
set(CMAKE_ASM_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-cc${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})
3940
set(CMAKE_C_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-cc${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})
4041
set(CMAKE_CXX_COMPILER "${CMAKE_CURRENT_LIST_DIR}/zig-c++${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})
42+
set(CMAKE_OBJCOPY "${CMAKE_CURRENT_LIST_DIR}/zig-objcopy${SCRIPT_SUFFIX}" -target ${ZIG_TARGET})
43+
44+
if(ZIG_OS STREQUAL "linux")
45+
set(PKG_CONFIG_EXECUTABLE "/usr/bin/${ZIG_ARCH}-${ZIG_OS}-${LINUX_ABI}-pkg-config")
46+
set(ENV{PKG_CONFIG_LIBDIR} "/usr/lib/${ZIG_ARCH}-${ZIG_OS}-${LINUX_ABI}/pkgconfig")
47+
set(ENV{PKG_CONFIG_PATH} "/usr/lib/pkgconfig:/usr/share/pkgconfig")
48+
if(IS_DIRECTORY "/usr/${ZIG_ARCH}-${ZIG_OS}-${LINUX_ABI}")
49+
set(CMAKE_FIND_ROOT_PATH "/usr/${ZIG_ARCH}-${ZIG_OS}-${LINUX_ABI}")
50+
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
51+
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
52+
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
53+
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE BOTH)
54+
endif()
55+
endif()

sources/OpenAL/Soft.Native/build-linux-arm.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ fi
1414
rm -rf build
1515
mkdir build
1616
cd build
17-
whereis libpulse.so
18-
cmake ../../../../eng/submodules/openal-soft --debug-find -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../../../../eng/native/cmake/zig-toolchain-arm-linux-gnueabihf.2.28.cmake -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF -DALSOFT_REQUIRE_RTKIT=ON -DALSOFT_REQUIRE_ALSA=ON -DALSOFT_REQUIRE_OSS=ON -DALSOFT_REQUIRE_PORTAUDIO=ON -DALSOFT_REQUIRE_PULSEAUDIO=ON -DALSOFT_REQUIRE_JACK=ON -DALSOFT_REQUIRE_PIPEWIRE=ON
17+
cmake ../../../../eng/submodules/openal-soft -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../../../../eng/native/cmake/zig-toolchain-arm-linux-gnueabihf.2.28.cmake -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF -DALSOFT_REQUIRE_RTKIT=ON -DALSOFT_REQUIRE_ALSA=ON -DALSOFT_REQUIRE_OSS=ON -DALSOFT_REQUIRE_PORTAUDIO=ON -DALSOFT_REQUIRE_PULSEAUDIO=ON -DALSOFT_REQUIRE_JACK=ON -DALSOFT_REQUIRE_PIPEWIRE=ON
1918
cmake --build . --parallel
2019
cd ..
2120
mkdir -p runtimes/linux-arm/native

sources/OpenAL/Soft.Native/build-linux-arm64.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ fi
1414
rm -rf build
1515
mkdir build
1616
cd build
17-
whereis libpulse.so
18-
cmake ../../../../eng/submodules/openal-soft --debug-find -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../../../../eng/native/cmake/zig-toolchain-aarch64-linux-gnu.2.28.cmake -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF -DALSOFT_REQUIRE_RTKIT=ON -DALSOFT_REQUIRE_ALSA=ON -DALSOFT_REQUIRE_OSS=ON -DALSOFT_REQUIRE_PORTAUDIO=ON -DALSOFT_REQUIRE_PULSEAUDIO=ON -DALSOFT_REQUIRE_JACK=ON -DALSOFT_REQUIRE_PIPEWIRE=ON
17+
cmake ../../../../eng/submodules/openal-soft -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../../../../eng/native/cmake/zig-toolchain-aarch64-linux-gnu.2.28.cmake -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF -DALSOFT_REQUIRE_RTKIT=ON -DALSOFT_REQUIRE_ALSA=ON -DALSOFT_REQUIRE_OSS=ON -DALSOFT_REQUIRE_PORTAUDIO=ON -DALSOFT_REQUIRE_PULSEAUDIO=ON -DALSOFT_REQUIRE_JACK=ON -DALSOFT_REQUIRE_PIPEWIRE=ON
1918
cmake --build . --parallel
2019
cd ..
2120
mkdir -p runtimes/linux-arm64/native

sources/OpenAL/Soft.Native/build-linux-x64.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@ fi
1414
rm -rf build
1515
mkdir build
1616
cd build
17-
whereis libpulse.so
18-
cmake ../../../../eng/submodules/openal-soft --debug-find -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../../../../eng/native/cmake/zig-toolchain-x86_64-linux-gnu.2.28.cmake -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF -DALSOFT_REQUIRE_RTKIT=ON -DALSOFT_REQUIRE_ALSA=ON -DALSOFT_REQUIRE_OSS=ON -DALSOFT_REQUIRE_PORTAUDIO=ON -DALSOFT_REQUIRE_PULSEAUDIO=ON -DALSOFT_REQUIRE_JACK=ON -DALSOFT_REQUIRE_PIPEWIRE=ON
17+
cmake ../../../../eng/submodules/openal-soft -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../../../../eng/native/cmake/zig-toolchain-x86_64-linux-gnu.2.28.cmake -DALSOFT_UTILS=OFF -DALSOFT_EXAMPLES=OFF -DALSOFT_REQUIRE_RTKIT=ON -DALSOFT_REQUIRE_ALSA=ON -DALSOFT_REQUIRE_OSS=ON -DALSOFT_REQUIRE_PORTAUDIO=ON -DALSOFT_REQUIRE_PULSEAUDIO=ON -DALSOFT_REQUIRE_JACK=ON -DALSOFT_REQUIRE_PIPEWIRE=ON
1918
cmake --build . --parallel
2019
cd ..
2120
mkdir -p runtimes/linux-x64/native

0 commit comments

Comments
 (0)