Skip to content

Platform ptr

Platform ptr #92

name: Build PC Client
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: windows-2022
timeout-minutes: 90
env:
WORKFLOW_BUILD_TYPE: Release
WORKFLOW_VULKAN_DIR: D:/a/Teleport/Teleport/VULKAN_SDK
VULKAN_SDK: D:/a/Teleport/Teleport/VULKAN_SDK
VULKAN_SDK_DIR: D:/a/Teleport/Teleport/VULKAN_SDK
steps:
- name: Checkout
uses: actions/checkout@v4
with:
lfs: 'true'
submodules: 'false'
- name: Git Submodules
run: |
cd ${{github.workspace}}
git submodule update --init --recursive --force -- "firstparty/Platform" "thirdparty/draco" "thirdparty/basis_universal" "thirdparty/libdatachannel" "libavstream/thirdparty/curl" "libavstream/thirdparty/efp" "thirdparty/websocketpp" "thirdparty/flecs"
cd ${{github.workspace}}/thirdparty/libdatachannel
#git submodule update --init --recursive --force -- "deps/libsrtp"
#dir deps
#cd ${{github.workspace}}/thirdparty/libdatachannel
- name: Vulkan
uses: humbletim/[email protected]
with:
version: 1.3.290.0
- name: Add to PATH
shell: pwsh
run: |
echo $VULKAN_SDK_DIR/Bin | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Initial Checks
run: cmake --version;
echo $VULKAN_SDK_DIR;
echo $VULKAN_SDK;
echo VULKAN_SDK_DIR ${{env.VULKAN_SDK_DIR}};
echo VULKAN_SDK ${{env.VULKAN_SDK}};
echo GITHUB_PATH ${{env.GITHUB_PATH}};
dir ${{env.WORKFLOW_VULKAN_DIR}};
dir D:/a/Teleport/Teleport/client/Shaders/link.sfx
- name: Running cmake (windows)
run: |
cd ${{ github.workspace }}
mkdir build_pc_client
cd build_pc_client
cmake -S .. -B . -WNo-dev -DLIBAV_USE_CUDA=false -DPLATFORM_USE_ASSIMP=false -DPLATFORM_BUILD_ASSIMP=false -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_VERSION=10.0.22621.0 -DTELEPORT_SOLUTION_NAME=TeleportClient -DVULKAN_SDK=${{env.WORKFLOW_VULKAN_DIR}} -DVULKAN_SDK_DIR=${{env.WORKFLOW_VULKAN_DIR}} -DVulkan_LIBRARY=${{env.WORKFLOW_VULKAN_DIR}}/Lib/vulkan-1.lib -DVulkan_INCLUDE_DIR=${{env.WORKFLOW_VULKAN_DIR}}/Include -DVulkan_GLSLANG_VALIDATOR_EXECUTABLE=${{env.WORKFLOW_VULKAN_DIR}}/Bin/glslangvalidator.exe -DVulkan_GLSLC_EXECUTABLE=${{env.WORKFLOW_VULKAN_DIR}}/Bin/glslc.exe -DCMAKE_BUILD_TYPE=Release -DENABLE_ENCRYPTION=false -DPLATFORM_SUPPORT_OPENGL=false -DPLATFORM_SUPPORT_VULKAN=true -DPLATFORM_SUPPORT_D3D11=false -DPLATFORM_SUPPORT_D3D12=false -DSIMUL_BUILD_SAMPLES=false -DPLATFORM_BUILD_SAMPLES=false -DPLATFORM_BUILD_MD_LIBS=false -DTELEPORT_CLIENT_USE_D3D12=false -DTELEPORT_CLIENT_USE_VULKAN=true -DSIMUL_DEBUG_SHADERS=false
# once more, now we can get a solution name.
cmake -S .. -B . -WNo-dev -DPLATFORM_USE_ASSIMP=false -DPLATFORM_BUILD_ASSIMP=false -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_VERSION=10.0.22621.0 -DTELEPORT_SOLUTION_NAME=TeleportClient -DVULKAN_SDK=${{env.WORKFLOW_VULKAN_DIR}} -DVULKAN_SDK_DIR=${{env.WORKFLOW_VULKAN_DIR}} -DVulkan_LIBRARY=${{env.WORKFLOW_VULKAN_DIR}}/Lib/vulkan-1.lib -DVulkan_INCLUDE_DIR=${{env.WORKFLOW_VULKAN_DIR}}/Include -DVulkan_GLSLANG_VALIDATOR_EXECUTABLE=${{env.WORKFLOW_VULKAN_DIR}}/Bin/glslangvalidator.exe -DVulkan_GLSLC_EXECUTABLE=${{env.WORKFLOW_VULKAN_DIR}}/Bin/glslc.exe -DCMAKE_BUILD_TYPE=Release -DENABLE_ENCRYPTION=false -DPLATFORM_SUPPORT_OPENGL=false -DPLATFORM_SUPPORT_VULKAN=true -DPLATFORM_SUPPORT_D3D11=false -DPLATFORM_SUPPORT_D3D12=false -DSIMUL_BUILD_SAMPLES=false -DPLATFORM_BUILD_SAMPLES=false -DPLATFORM_BUILD_MD_LIBS=false -DTELEPORT_CLIENT_USE_D3D12=false -DTELEPORT_CLIENT_USE_VULKAN=true -DSIMUL_DEBUG_SHADERS=false
- name: Show CMake Output
run: |
dir ${{github.workspace}}/build_pc_client
gc ${{github.workspace}}/build_pc_client/CMakeCache.txt
gc ${{github.workspace}}/build_pc_client/ClientRender/ClientRender.vcxproj
- name: Setup MSBuild.exe with new add-path
uses: Dana-Prajea/[email protected]
- name: MSB
run: |
cd ${{env.VULKAN_SDK_DIR}}/Include
dir vulkan/vulkan.hpp
MSBuild ${{github.workspace}}/build_pc_client/Teleport_Client.sln /m:1 /p:Configuration=Release /p:Platform=x64 /t:Client\TeleportPCClient
- name: Build
# Build your program with the given configuration
run: rem cmake --build ${{github.workspace}}/build_pc_client --config ${{env.WORKFLOW_BUILD_TYPE}}
continue-on-error: true
- name: Test
working-directory: ${{github.workspace}}/build_pc_client
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.WORKFLOW_BUILD_TYPE}}
- name: Setup tmate session
if: failure()
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true