3333 libglm-dev \
3434 libtinyobjloader-dev \
3535 libstb-dev \
36- libyaml-cpp0.7
36+ cmake
37+ # Build and install yaml-cpp from source
38+ git clone https://github.com/jbeder/yaml-cpp.git
39+ cd yaml-cpp
40+ cmake -B build -DCMAKE_BUILD_TYPE=Release -DYAML_BUILD_SHARED_LIBS=ON
41+ cmake --build build --config Release -j4
42+ sudo cmake --install build
3743 test-cmd : |
3844 # Check if some of the expected executables were built
3945 if [ -f "00_base_code/00_base_code" ]; then
@@ -60,10 +66,15 @@ jobs:
6066 vulkan-install : |
6167 Invoke-WebRequest -Uri "https://sdk.lunarg.com/sdk/download/latest/windows/vulkan-sdk.exe" -OutFile "$env:TEMP\vulkan-sdk.exe"
6268 Start-Process -FilePath "$env:TEMP\vulkan-sdk.exe" -ArgumentList "--accept-licenses --default-answer --confirm-command install" -Wait
63- # Add these environment variables
64- echo "VULKAN_SDK=C:\VulkanSDK\latest" >> $env:GITHUB_ENV
65- echo "VULKAN_INCLUDE_DIR=C:\VulkanSDK\latest\Include" >> $env:GITHUB_ENV
66- echo "VULKAN_LIBRARY=C:\VulkanSDK\latest\Lib\vulkan-1.lib" >> $env:GITHUB_ENV
69+ # Set environment variables with correct Windows-style paths
70+ $vulkanPath = "C:\VulkanSDK\latest"
71+ echo "VULKAN_SDK=$vulkanPath" >> $env:GITHUB_ENV
72+ # Add Vulkan SDK to system PATH
73+ echo "$vulkanPath\Bin" >> $env:GITHUB_PATH
74+ # Set explicit CMake variables
75+ echo "CMAKE_PREFIX_PATH=$vulkanPath" >> $env:GITHUB_ENV
76+ echo "Vulkan_INCLUDE_DIR=$vulkanPath\Include" >> $env:GITHUB_ENV
77+ echo "Vulkan_LIBRARY=$vulkanPath\Lib\vulkan-1.lib" >> $env:GITHUB_ENV
6778 deps-install : |
6879 vcpkg install glfw3:x64-windows glm:x64-windows tinyobjloader:x64-windows stb:x64-windows
6980 echo "CMAKE_TOOLCHAIN_FILE=$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" >> $env:GITHUB_ENV
@@ -97,13 +108,22 @@ jobs:
97108 sudo /Volumes/vulkansdk/InstallVulkan.app/Contents/MacOS/InstallVulkan --accept-licenses --default-answer --confirm-command install
98109 hdiutil detach /Volumes/vulkansdk
99110 deps-install : |
100- brew install glfw glm stb
101- # Install tinyobjloader from source since it's not available in brew
111+ # Install available packages through brew
112+ brew install glfw glm
113+
114+ # Install tinyobjloader from source
102115 git clone https://github.com/tinyobjloader/tinyobjloader.git
103116 cd tinyobjloader
104117 cmake -B build -DCMAKE_BUILD_TYPE=Release
105118 cmake --build build --config Release
106119 sudo cmake --install build
120+ cd ..
121+
122+ # Install stb headers
123+ git clone https://github.com/nothings/stb.git
124+ sudo mkdir -p /usr/local/include/stb
125+ sudo cp stb/*.h /usr/local/include/stb/
126+
107127 test-cmd : |
108128 # Check if some of the expected executables were built
109129 if [ -f "00_base_code/00_base_code" ]; then
@@ -150,6 +170,29 @@ jobs:
150170 - name : Install Vulkan SDK
151171 run : ${{ matrix.vulkan-install }}
152172
173+ - name : Verify Vulkan Installation (Windows)
174+ if : runner.os == 'Windows'
175+ run : |
176+ if (Test-Path $env:VULKAN_SDK) {
177+ echo "Vulkan SDK found at: $env:VULKAN_SDK"
178+ echo "Contents of Lib directory:"
179+ Get-ChildItem "$env:VULKAN_SDK\Lib"
180+ echo "Contents of Include directory:"
181+ Get-ChildItem "$env:VULKAN_SDK\Include"
182+ } else {
183+ echo "Vulkan SDK not found!"
184+ exit 1
185+ }
186+
187+ - name : Configure CMake
188+ working-directory : ${{github.workspace}}/attachments
189+ run : |
190+ cmake -B build -DCMAKE_BUILD_TYPE=Release `
191+ -DVulkan_INCLUDE_DIR="$env:Vulkan_INCLUDE_DIR" `
192+ -DVulkan_LIBRARY="$env:Vulkan_LIBRARY" `
193+ -DCMAKE_PREFIX_PATH="$env:VULKAN_SDK"
194+ if : runner.os == 'Windows'
195+
153196 - name : Configure CMake
154197 working-directory : ${{github.workspace}}/attachments
155198 run : cmake -B build -DCMAKE_BUILD_TYPE=Release
0 commit comments