From edade2ed184c5a95743c95f0c67688cd8ba30e18 Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Wed, 20 Oct 2021 11:26:52 -0400 Subject: Initial `slang-pack` integration (#1974) * #include an absolute path didn't work - because paths were taken to always be relative. * First integration of slang-pack. * Use .os * Add optional dependency support. * Update github actions/scripts to update deps. aarch64 needs special handling. * Upgrade to latest slang-pack for ignore-deps support. * Fix linux build issues. --- .github/workflows/c-cpp.yml | 3 +++ .github/workflows/release-linux.yml | 10 ++++++++-- .github/workflows/release-windows.yml | 13 +++++++++---- .github/workflows/windows.yml | 3 ++- 4 files changed, 22 insertions(+), 7 deletions(-) (limited to '.github') diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 2bffa36ed..e848b8170 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -14,6 +14,7 @@ jobs: matrix: configuration: ['debug', 'release'] compiler: ['gcc', 'clang'] + platform: ['x64'] steps: - uses: actions/checkout@v2.3.4 with: @@ -23,9 +24,11 @@ jobs: run: CC=${{matrix.compiler}} CONFIGURATION=${{matrix.configuration}} + ARCH=${{matrix.platform}} source ./github_build.sh - name: test run: CONFIGURATION=${{matrix.configuration}} CC=${{matrix.compiler}} + ARCH=${{matrix.platform}} source ./github_test.sh \ No newline at end of file diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml index ec9dd54b1..8f31dc510 100644 --- a/.github/workflows/release-linux.yml +++ b/.github/workflows/release-linux.yml @@ -10,6 +10,11 @@ jobs: build: name: Upload Release Asset runs-on: ubuntu-latest + strategy: + matrix: + configuration: ['release'] + compiler: ['gcc'] + platform: ['x64'] steps: - name: Checkout code uses: actions/checkout@v2 @@ -20,8 +25,9 @@ jobs: id: build run: | echo "starting to build..." - export CC=gcc - export CONFIGURATION=release + export CC=${{matrix.compiler}} + export CONFIGURATION=${{matrix.configuration}} + export ARCH=${{matrix.platform}} echo "building..." source ./github_build.sh echo "creating binary archieves..." diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 3b70947a0..8079b2519 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -21,13 +21,18 @@ jobs: fetch-depth: '0' - name: setup-msbuild uses: microsoft/setup-msbuild@v1 - - name: premake - run: - .\premake.bat vs2017 --enable-embed-stdlib=true + + # If we are building for aarch64 we want to build x64 first, so that all generated files are produced - name: msbuild (x64 tools) if: ${{ matrix.platform == 'aarch64' }} - run: + run: | + .\premake.bat vs2017 --arch=x64 --ignore-deps=slang-llvm MSBuild.exe slang.sln -v:m -m -property:Configuration=Release -property:Platform=x64 -property:WindowsTargetPlatformVersion=10.0.19041.0 + + # Do the premake for the actual target, downloading dependencies if necessary + - name: premake + run: + .\premake.bat vs2017 --enable-embed-stdlib=true --arch=${{matrix.platform}} --deps=true - name: msbuild run: MSBuild.exe slang.sln -v:m -m -property:Configuration=${{matrix.configuration}} -property:Platform=${{matrix.platform}} -property:WindowsTargetPlatformVersion=10.0.19041.0 diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index b3e575780..1637640e8 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -22,9 +22,10 @@ jobs: fetch-depth: '0' - name: setup-msbuild uses: microsoft/setup-msbuild@v1 + - name: premake run: - .\premake.bat vs2017 --enable-embed-stdlib=true + .\premake.bat vs2017 --enable-embed-stdlib=true --arch=${{matrix.platform}} --deps=true - name: build run: MSBuild.exe slang.sln -v:m -m -property:Configuration=${{matrix.configuration}} -property:Platform=${{matrix.platform}} -property:WindowsTargetPlatformVersion=10.0.19041.0 -- cgit v1.2.3