Platform ptr. #97
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |