Update CMakeFile.txt. #261
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: Building | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
BUILD_TYPE: Release # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
OptiX_INSTALL_DIR: ${{github.workspace}}/optix | |
jobs: | |
build: | |
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. | |
# You can convert this to a matrix build if you need cross-platform coverage. | |
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix | |
strategy: | |
fail-fast: false | |
matrix: | |
cuda: ["11.4.0", "12.1.0"] | |
cuda_arch: ["61", "75"] | |
os: ["windows-2019"] | |
visual_studio: ["Visual Studio 16 2019"] | |
runs-on: ${{matrix.os}} | |
steps: | |
- name: Configure Pagefile | |
if: ${{matrix.os == 'windows-2019'}} | |
uses: al-cheb/configure-pagefile-action@v1.3 | |
with: | |
minimum-size: 4GB | |
maximum-size: 64GB | |
- name: Set up pagefile | |
if: ${{matrix.os == 'windows-2019'}} | |
run: | | |
(Get-CimInstance Win32_PageFileUsage).AllocatedBaseSize | |
- name: Checkout Kiraray | |
uses: actions/checkout@v3 | |
with: | |
submodules: 'recursive' | |
- name: Download optix include | |
uses: actions/checkout@v3 | |
with: | |
ssh-key: ${{ secrets.SSH_KEY }} | |
repository: cuteday/optix-headers | |
path: optix | |
- name: Install OpenGL | |
if: ${{matrix.os != 'windows-2019'}} | |
run: sudo apt-get install -y --no-install-recommends libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libgl1-mesa-dev | |
- name: Install cmake | |
uses: lukka/get-cmake@latest | |
with: | |
cmakeVersion: "~3.25.0" | |
- name: Install CUDA | |
uses: Jimver/cuda-toolkit@master | |
with: | |
# Cuda version | |
cuda: ${{matrix.cuda}} | |
# Only installs specified subpackages, must be in the form of a JSON array. For example, if you only want to install nvcc and visual studio integration: ["nvcc", "visual_studio_integration"] double quotes required! Note that if you want to use this on Linux, 'network' method MUST be used. | |
# sub-packages: '["nvcc", "visual_studio_integration", "cublas_dev", "curand_dev", "nvrtc_dev", "cudart"]' | |
# Installation method, can be either 'local' or 'network'. 'local' downloads the entire installer with all packages and runs that (you can still only install certain packages with sub-packages on Windows). 'network' downloads a smaller executable which only downloads necessary packages which you can define in subPackages | |
method: "local" | |
- name: Check CUDA compiler | |
run: nvcc -V | |
- name: Install Vulkan SDK | |
uses: humbletim/install-vulkan-sdk@v1.1.1 | |
with: | |
version: latest | |
cache: true | |
- name: Configure CMake | |
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. | |
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type | |
env: | |
CUDA_ARCH: ${{matrix.cuda_arch}} | |
run: | | |
cmake -B ${{github.workspace}}/build -DCMAKE_CUDA_ARCHITECTURES=${{matrix.cuda_arch}}-virtual -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DOptiX_INSTALL_DIR=${{env.OptiX_INSTALL_DIR}} | |
- name: Build | |
run: | | |
cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel 2 |