Skip to content

Commit fac8877

Browse files
committed
Test
1 parent 275878e commit fac8877

File tree

2 files changed

+43
-12
lines changed

2 files changed

+43
-12
lines changed

.github/workflows/build.yml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,29 @@ jobs:
3434
with:
3535
submodules: true
3636

37+
- name: Debug workspace and presets (Linux)
38+
if: runner.os == 'Linux'
39+
shell: bash
40+
run: |
41+
set -euxo pipefail
42+
echo "Workspace: $GITHUB_WORKSPACE"
43+
pwd
44+
ls -la
45+
test -f CMakePresets.json || (echo 'Missing CMakePresets.json at workspace root' && exit 1)
46+
cmake --version
47+
cmake --list-presets
48+
49+
- name: Debug workspace and presets (Windows)
50+
if: runner.os == 'Windows'
51+
shell: pwsh
52+
run: |
53+
Write-Host "Workspace: $env:GITHUB_WORKSPACE"
54+
Get-Location
55+
Get-ChildItem -Force | Format-Table -AutoSize
56+
if (-not (Test-Path 'CMakePresets.json')) { Write-Error 'Missing CMakePresets.json at workspace root'; exit 1 }
57+
cmake --version
58+
cmake --list-presets
59+
3760
- name: Set up Ninja (Linux)
3861
if: runner.os == 'Linux'
3962
run: |
@@ -88,7 +111,7 @@ jobs:
88111
89112
- name: Build (CMake preset)
90113
working-directory: ${{ github.workspace }}
91-
run: cmake --build --preset "${{ matrix.preset }}" --parallel
114+
run: cmake --build "out/build/${{ matrix.preset }}" --parallel
92115

93116
- name: Upload driver pack artifact
94117
uses: actions/upload-artifact@v4

driver_Amethyst/CMakeLists.txt

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,24 +51,32 @@ set(CAPNP_SCHEMA_COPY "${CAPNP_OUT_DIR}/driver.capnp")
5151
set(CAPNP_GEN_HDR "${CAPNP_OUT_DIR}/driver.capnp.h")
5252
set(CAPNP_GEN_SRC "${CAPNP_OUT_DIR}/driver.capnp.c++")
5353

54-
# Resolve capnp compiler path
54+
# Resolve capnp compiler path and its directory (for plugin discovery)
5555
set(CAPNP_COMPILER capnp)
56+
set(CAPNP_DIR "")
5657
if (TARGET CapnProto::capnp_tool)
5758
set(CAPNP_COMPILER $<TARGET_FILE:CapnProto::capnp_tool>)
59+
set(CAPNP_DIR $<TARGET_FILE_DIR:CapnProto::capnp_tool>)
5860
elseif (DEFINED CAPNP_EXECUTABLE)
5961
set(CAPNP_COMPILER "${CAPNP_EXECUTABLE}")
60-
endif()
61-
62-
# Set up the capnp compile command with PATH modification on Linux
63-
if(UNIX AND NOT APPLE)
64-
if (TARGET CapnProto::capnp_tool)
65-
set(CAPNP_COMPILE_COMMAND ${CMAKE_COMMAND} -E env "PATH=$<TARGET_FILE_DIR:CapnProto::capnp_tool>:$ENV{PATH}" ${CAPNP_COMPILER} compile -o c++:. "driver.capnp")
66-
elseif (DEFINED CAPNP_EXECUTABLE)
62+
get_filename_component(CAPNP_DIR "${CAPNP_EXECUTABLE}" DIRECTORY)
63+
else()
64+
find_program(CAPNP_EXECUTABLE capnp)
65+
if (CAPNP_EXECUTABLE)
66+
set(CAPNP_COMPILER "${CAPNP_EXECUTABLE}")
6767
get_filename_component(CAPNP_DIR "${CAPNP_EXECUTABLE}" DIRECTORY)
68-
set(CAPNP_COMPILE_COMMAND ${CMAKE_COMMAND} -E env "PATH=${CAPNP_DIR}:$ENV{PATH}" ${CAPNP_COMPILER} compile -o c++:. "driver.capnp")
69-
else()
70-
set(CAPNP_COMPILE_COMMAND ${CAPNP_COMPILER} compile -o c++:. "driver.capnp")
7168
endif()
69+
endif()
70+
71+
# Compose PATH modification for capnpc-c++ plugin resolution on all platforms
72+
if (WIN32)
73+
set(_PATH_SEP ";")
74+
else()
75+
set(_PATH_SEP ":")
76+
endif()
77+
78+
if (CAPNP_DIR)
79+
set(CAPNP_COMPILE_COMMAND ${CMAKE_COMMAND} -E env "PATH=${CAPNP_DIR}${_PATH_SEP}$ENV{PATH}" ${CAPNP_COMPILER} compile -o c++:. "driver.capnp")
7280
else()
7381
set(CAPNP_COMPILE_COMMAND ${CAPNP_COMPILER} compile -o c++:. "driver.capnp")
7482
endif()

0 commit comments

Comments
 (0)