summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-09-28 13:42:40 -0700
committerGitHub <noreply@github.com>2022-09-28 13:42:40 -0700
commiteb5c6b93543ca1423117045dbbfee0b6f653d392 (patch)
treebef912602dc22b2ac624eb5630450d8303e43e0f
parent7708d205cb186f2b95d8daa2d8e0c655488fc34a (diff)
Make github CI build aarch64 binaries on release. (#2417)
-rw-r--r--.github/workflows/linux.yml1
-rw-r--r--.github/workflows/macos.yml2
-rw-r--r--.github/workflows/release-linux.yml2
-rw-r--r--.github/workflows/release-macos.yml30
-rw-r--r--.github/workflows/release-windows.yml13
-rw-r--r--.github/workflows/windows.yml7
-rw-r--r--build/visual-studio/run-generators/run-generators.vcxproj64
-rw-r--r--github_build.sh18
-rw-r--r--github_macos_build.sh17
-rw-r--r--premake5.lua105
10 files changed, 148 insertions, 111 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
index ebc658792..3d7ceee8b 100644
--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -25,6 +25,7 @@ jobs:
CC=${{matrix.compiler}}
CONFIGURATION=${{matrix.configuration}}
ARCH=${{matrix.platform}}
+ TARGETARCH=${{matrix.platform}}
if [[ "$CC" == "clang" ]]; then
CFLAGS=-Werror
CPPFLAGS=-Werror
diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml
index a10467f06..68214d525 100644
--- a/.github/workflows/macos.yml
+++ b/.github/workflows/macos.yml
@@ -16,7 +16,6 @@ jobs:
configuration: ['release'] # 'debug'
compiler: ['clang']
platform: ['x64']
-
steps:
- uses: actions/checkout@v2.3.4
with:
@@ -27,6 +26,7 @@ jobs:
CC=${{matrix.compiler}}
CONFIGURATION=${{matrix.configuration}}
ARCH=${{matrix.platform}}
+ TARGETARCH=${{matrix.platform}}
CPPFLAGS=-Werror
CFLAGS=-Werror
CXXFLAGS=-Werror
diff --git a/.github/workflows/release-linux.yml b/.github/workflows/release-linux.yml
index c3d075d01..f0e00d77f 100644
--- a/.github/workflows/release-linux.yml
+++ b/.github/workflows/release-linux.yml
@@ -15,6 +15,7 @@ jobs:
configuration: ['release']
compiler: ['gcc']
platform: ['x64']
+ targetPlatform: ['x64']
steps:
- name: Checkout code
uses: actions/checkout@v2
@@ -28,6 +29,7 @@ jobs:
export CC=${{matrix.compiler}}
export CONFIGURATION=${{matrix.configuration}}
export ARCH=${{matrix.platform}}
+ export TARGETARCH=${{matrix.targetPlatform}}
echo "building..."
source ./github_build.sh
echo "creating binary archieves..."
diff --git a/.github/workflows/release-macos.yml b/.github/workflows/release-macos.yml
index 1c8a33dd8..663230f5f 100644
--- a/.github/workflows/release-macos.yml
+++ b/.github/workflows/release-macos.yml
@@ -15,7 +15,23 @@ jobs:
configuration: ['release'] # 'debug'
compiler: ['clang']
platform: ['x64']
+ targetPlatform: ['x64', 'aarch64']
steps:
+ - name: Checkout code
+ uses: actions/checkout@v2
+ with:
+ submodules: 'true'
+ fetch-depth: '0'
+ - name: Build release project
+ id: build
+ run: |
+ echo "starting to build..."
+ export CC=${{matrix.compiler}}
+ export CONFIGURATION=${{matrix.configuration}}
+ export ARCH=${{matrix.platform}}
+ export TARGETARCH=${{matrix.targetPlatform}}
+ echo "building..."
+ source ./github_macos_build.sh
- name: "Import signing certificate"
env:
BUILD_CERTIFICATE_BASE64: ${{ secrets.BUILD_CERTIFICATE_BASE64 }}
@@ -45,20 +61,6 @@ jobs:
brew install mitchellh/gon/gon
security find-identity -v
brew install coreutils
- - name: Checkout code
- uses: actions/checkout@v2
- with:
- submodules: 'true'
- fetch-depth: '0'
- - name: Build release project
- id: build
- run: |
- echo "starting to build..."
- export CC=${{matrix.compiler}}
- export CONFIGURATION=${{matrix.configuration}}
- export ARCH=${{matrix.platform}}
- echo "building..."
- source ./github_macos_build.sh
- name: Sign binaries
env:
IDENTITY_ID: d6ada82a113e4204aaad914e1013e9548ffd30d0
diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml
index b3d69e57a..1b186b187 100644
--- a/.github/workflows/release-windows.yml
+++ b/.github/workflows/release-windows.yml
@@ -13,7 +13,7 @@ jobs:
strategy:
matrix:
configuration: ['Release']
- platform: ['Win32', 'x64']
+ platform: ['Win32', 'x64', 'aarch64']
steps:
- uses: actions/checkout@v2.3.4
with:
@@ -22,17 +22,18 @@ jobs:
- name: setup-msbuild
uses: microsoft/setup-msbuild@v1
- # If we are building for aarch64 we want to build x64 first, so that all generated files are produced
- name: msbuild (x64 tools)
+ # If we are building for ARM64 we want to build x64 first, so that all generated files are produced
if: ${{ matrix.platform == 'aarch64' }}
run: |
- .\premake.bat vs2017 --arch=x64 --ignore-deps=slang-llvm,slang-glslang --no-progress=true
+ .\premake.bat vs2019 --arch=x64 --ignore-deps=slang-llvm,slang-glslang --no-progress=true
MSBuild.exe slang.sln -v:m -m -property:Configuration=Release -property:Platform=x64 -property:WindowsTargetPlatformVersion=10.0.19041.0
-
+ .\premake.bat vs2019 --arch=${{matrix.platform}} --ignore-deps=slang-llvm,slang-glslang --no-progress=true --skip-source-generation=true --deploy-slang-llvm=false --deploy-slang-glslang=false
# Do the premake for the actual target, downloading dependencies if necessary
- name: premake
+ if: ${{ matrix.platform != 'aarch64' }}
run:
- .\premake.bat vs2017 --enable-embed-stdlib=true --arch=${{matrix.platform}} --deps=true --no-progress=true
+ .\premake.bat vs2019 --enable-embed-stdlib=true --arch=${{matrix.platform}} --deps=true --no-progress=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
@@ -42,7 +43,7 @@ jobs:
echo "achiving files..."
if ("${{matrix.platform}}" -eq "aarch64")
{
- $slangDeployPlatform = "win-aarch64"
+ $slangDeployPlatform = "win-arm64"
}
elseif ("${{matrix.platform}}" -eq "x64")
{
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
index 4fb9f0c58..e201d4613 100644
--- a/.github/workflows/windows.yml
+++ b/.github/workflows/windows.yml
@@ -22,12 +22,9 @@ jobs:
fetch-depth: '0'
- name: setup-msbuild
uses: microsoft/setup-msbuild@v1
-
- - name: premake
- run:
- .\premake.bat vs2017 --enable-embed-stdlib=true --arch=${{matrix.platform}} --deps=true --no-progress=true
- name: build
- run:
+ run: |
+ .\premake.bat vs2019 --enable-embed-stdlib=true --arch=${{matrix.platform}} --deps=true --no-progress=true
MSBuild.exe slang.sln -v:m -m -property:Configuration=${{matrix.configuration}} -property:Platform=${{matrix.platform}} -property:WindowsTargetPlatformVersion=10.0.19041.0 -warnAsError
- uses: actions/upload-artifact@v3
with:
diff --git a/build/visual-studio/run-generators/run-generators.vcxproj b/build/visual-studio/run-generators/run-generators.vcxproj
index e95f1ce02..aa948f934 100644
--- a/build/visual-studio/run-generators/run-generators.vcxproj
+++ b/build/visual-studio/run-generators/run-generators.vcxproj
@@ -262,137 +262,137 @@
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-embed" %(Identity)</Command>
<Outputs>../../../prelude/slang-cpp-host-prelude.h.cpp</Outputs>
<Message>slang-embed %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-embed.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\prelude\slang-cpp-prelude.h">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-embed" %(Identity)</Command>
<Outputs>../../../prelude/slang-cpp-prelude.h.cpp</Outputs>
<Message>slang-embed %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-embed.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\prelude\slang-cuda-prelude.h">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-embed" %(Identity)</Command>
<Outputs>../../../prelude/slang-cuda-prelude.h.cpp</Outputs>
<Message>slang-embed %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-embed.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\prelude\slang-hlsl-prelude.h">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-embed" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-embed" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-embed" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-embed" %(Identity)</Command>
<Outputs>../../../prelude/slang-hlsl-prelude.h.cpp</Outputs>
<Message>slang-embed %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-embed.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-embed.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\source\slang\core.meta.slang">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-generate" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-generate" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-generate" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-generate" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-generate" %(Identity)</Command>
<Outputs>../../../source/slang/core.meta.slang.h</Outputs>
<Message>slang-generate %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-generate.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-generate.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-generate.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-generate.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-generate.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\source\slang\diff.meta.slang">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-generate" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-generate" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-generate" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-generate" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-generate" %(Identity)</Command>
<Outputs>../../../source/slang/diff.meta.slang.h</Outputs>
<Message>slang-generate %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-generate.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-generate.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-generate.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-generate.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-generate.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\source\slang\hlsl.meta.slang">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-generate" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-generate" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-generate" %(Identity)</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-generate" %(Identity)</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-generate" %(Identity)</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-generate" %(Identity)</Command>
<Outputs>../../../source/slang/hlsl.meta.slang.h</Outputs>
<Message>slang-generate %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-generate.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-generate.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-generate.exe</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-generate.exe</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-generate.exe</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-generate.exe</AdditionalInputs>
</CustomBuild>
<CustomBuild Include="..\..\..\source\slang\slang-ast-reflect.h">
<FileType>Document</FileType>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"../../../bin/windows-x86/debug/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">"../../../bin/windows-x64/debug/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/debug/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">"../../../bin/windows-aarch64/debug/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"../../../bin/windows-x86/release/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../../bin/windows-x64/release/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
- <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"$(SolutionDir)/bin/windows-x64/release/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
+ <Command Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">"../../../bin/windows-aarch64/release/slang-cpp-extractor" -d %(RootDir)%(Directory) slang-ast-support-types.h slang-ast-base.h slang-ast-decl.h slang-ast-expr.h slang-ast-modifier.h slang-ast-stmt.h slang-ast-type.h slang-ast-val.h -strip-prefix slang- -o slang-generated -output-fields -mark-suffix _CLASS</Command>
<Outputs>../../../source/slang/slang-generated-obj.h;../../../source/slang/slang-generated-obj-macro.h;../../../source/slang/slang-generated-ast.h;../../../source/slang/slang-generated-ast-macro.h;../../../source/slang/slang-generated-value.h;../../../source/slang/slang-generated-value-macro.h</Outputs>
<Message>C++ Extractor %(Identity)</Message>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../bin/windows-x86/debug/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">../../../bin/windows-x64/debug/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-x64/debug/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug aarch64|ARM'">../../../bin/windows-aarch64/debug/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../bin/windows-x86/release/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../../bin/windows-x64/release/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
- <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-x64/release/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
+ <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release aarch64|ARM'">../../../bin/windows-aarch64/release/slang-cpp-extractor.exe;../../../source/slang/slang-ast-support-types.h;../../../source/slang/slang-ast-base.h;../../../source/slang/slang-ast-decl.h;../../../source/slang/slang-ast-expr.h;../../../source/slang/slang-ast-modifier.h;../../../source/slang/slang-ast-stmt.h;../../../source/slang/slang-ast-type.h;../../../source/slang/slang-ast-val.h</AdditionalInputs>
</CustomBuild>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
diff --git a/github_build.sh b/github_build.sh
index 7e23294a6..bd07da2bb 100644
--- a/github_build.sh
+++ b/github_build.sh
@@ -7,10 +7,26 @@ chmod u+x premake5
git describe --tags | sed -e "s/\(.*\)/\#define SLANG_TAG_VERSION \"\1\"/" > slang-tag-version.h
cat slang-tag-version.h
+if [[ "" == "${TARGETARCH}" ]]; then
+TARGETARCH=${ARCH}
+fi
+
+if [[ "${ARCH}" != "${TARGETARCH}" ]]; then
+
# Create the makefile
./premake5 gmake --cc=${CC} --enable-embed-stdlib=true --arch=${ARCH} --deps=true --no-progress=true
# Build the configuration
-make config=${CONFIGURATION}_x64 -j`nproc`
+make config=${CONFIGURATION}_${ARCH} -j`nproc`
+
+# Create the makefile
+./premake5 gmake --cc=${CC} --enable-embed-stdlib=true --arch=${TARGETARCH} --deps=true --no-progress=true --skip-source-generation=true --deploy-slang-llvm=false --deploy-slang-glslang=false
+else
+# Create the makefile
+./premake5 gmake --cc=${CC} --enable-embed-stdlib=true --arch=${TARGETARCH} --deps=true --no-progress=true
+fi
+
+# Build the configuration
+make config=${CONFIGURATION}_${TARGETARCH} -j`nproc`
diff --git a/github_macos_build.sh b/github_macos_build.sh
index 5b8305a02..2fc9fce05 100644
--- a/github_macos_build.sh
+++ b/github_macos_build.sh
@@ -7,10 +7,25 @@ chmod u+x premake5
git describe --tags | sed -e "s/\(.*\)/\#define SLANG_TAG_VERSION \"\1\"/" > slang-tag-version.h
cat slang-tag-version.h
+if [[ "" == "${TARGETARCH}" ]]; then
+TARGETARCH=${ARCH}
+fi
+
+if [[ "${ARCH}" != "${TARGETARCH}" ]]; then
+
# Create the makefile
./premake5 gmake --cc=${CC} --enable-xlib=false --enable-embed-stdlib=true --arch=${ARCH} --deps=true --no-progress=true
# Build the configuration
-make config=${CONFIGURATION}_x64 -j`sysctl -n hw.ncpu`
+make config=${CONFIGURATION}_${ARCH} -j`sysctl -n hw.ncpu`
+
+# Create the makefile
+./premake5 gmake --cc=${CC} --enable-xlib=false --enable-embed-stdlib=true --arch=${TARGETARCH} --deps=true --no-progress=true --skip-source-generation=true --deploy-slang-llvm=false --deploy-slang-glslang=false
+else
+# Create the makefile
+./premake5 gmake --cc=${CC} --enable-xlib=false --enable-embed-stdlib=true --arch=${TARGETARCH} --deps=true --no-progress=true
+fi
+# Build the configuration
+make config=${CONFIGURATION}_${TARGETARCH} -j`sysctl -n hw.ncpu` \ No newline at end of file
diff --git a/premake5.lua b/premake5.lua
index 02875fc89..c8c1fbf6f 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -167,6 +167,29 @@ newoption {
allowed = { { "true", "True"}, { "false", "False" } }
}
+ newoption {
+ trigger = "skip-source-generation",
+ description = "(Optional) If true will skip source generation steps.",
+ value = "bool",
+ default = "false",
+ allowed = { { "true", "True"}, { "false", "False" } }
+ }
+
+ newoption {
+ trigger = "deploy-slang-llvm",
+ description = "(Optional) If true will copy slang-llvm to output directory.",
+ value = "bool",
+ default = "true",
+ allowed = { { "true", "True"}, { "false", "False" } }
+ }
+ newoption {
+ trigger = "deploy-slang-glslang",
+ description = "(Optional) If true will copy slang-glslang to output directory.",
+ value = "bool",
+ default = "true",
+ allowed = { { "true", "True"}, { "false", "False" } }
+ }
+
buildLocation = _OPTIONS["build-location"]
executeBinary = (_OPTIONS["execute-binary"] == "true")
buildGlslang = (_OPTIONS["build-glslang"] == "true")
@@ -177,7 +200,9 @@ newoption {
enableProfile = (_OPTIONS["enable-profile"] == "true")
enableEmbedStdLib = (_OPTIONS["enable-embed-stdlib"] == "true")
enableXlib = (_OPTIONS["enable-xlib"] == "true")
- enableExperimental = (_OPTIONS["enable-experimental-projects"] == "true")
+ skipSourceGeneration = (_OPTIONS["skip-source-generation"] == "true")
+ deployLLVM = (_OPTIONS["deploy-slang-llvm"] == "true")
+ deployGLSLang = (_OPTIONS["deploy-slang-glslang"] == "true")
-- If stdlib embedding is enabled, disable stdlib source embedding by default
disableStdlibSource = enableEmbedStdLib
@@ -1052,28 +1077,15 @@ tool "slangd"
kind "ConsoleApp"
links { "core", "slang" }
- function getWinArm64Filter(isArm64)
- if isArm64 then
- return { "system:windows", "platforms:aarch64" }
- else
- return { "system:not windows or platforms:not aarch64" }
- end
- end
-
- function getWinArm64BuildDir(isArm64)
- if isArm64 then
- return "%{wks.location}/bin/windows-x64/%{cfg.buildcfg:lower()}"
- else
- return "%{cfg.targetdir}"
- end
+ function getBuildDir(isArm64)
+
+ return "%{cfg.targetdir}"
end
function astReflectGenerator(isArm64)
- local f = getWinArm64Filter(isArm64)
- local builddir = getWinArm64BuildDir(isArm64)
+ local builddir = getBuildDir()
- table.insert(f, "files:**/slang-ast-reflect.h")
- filter(f)
+ filter("files:**/slang-ast-reflect.h")
buildmessage "C++ Extractor %{file.relpath}"
@@ -1122,12 +1134,10 @@ tool "slangd"
buildinputs(buildInputTable)
end
- function metaSlangGenerator(isArm64)
- local f = getWinArm64Filter(isArm64)
- local builddir = getWinArm64BuildDir(isArm64)
+ function metaSlangGenerator()
+ local builddir = getBuildDir()
- table.insert(f, "files:**.meta.slang")
- filter(f)
+ filter("files:**.meta.slang")
-- Specify the "friendly" message that should print to the build log for the action
buildmessage "slang-generate %{file.relpath}"
@@ -1168,12 +1178,10 @@ tool "slangd"
buildinputs { builddir .. "/slang-generate" .. getExecutableSuffix() }
end
- function preludeGenerator(isArm64)
- local f = getWinArm64Filter(isArm64)
- local builddir = getWinArm64BuildDir(isArm64)
+ function preludeGenerator()
+ local builddir = getBuildDir()
- table.insert(f, "files:prelude/*-prelude.h")
- filter(f)
+ filter("files:prelude/*-prelude.h")
buildmessage "slang-embed %{file.relpath}"
buildcommands { '"' .. builddir .. '/slang-embed" %{file.relpath}' }
@@ -1181,6 +1189,8 @@ tool "slangd"
buildinputs { builddir .. "/slang-embed" .. getExecutableSuffix() }
end
+ if not skipSourceGeneration then
+
generatorProject("run-generators", nil)
-- We make 'source/slang' the location of the source, to make paths to source
@@ -1214,8 +1224,7 @@ tool "slangd"
-- We need to run the C++ extractor to generate some include files
if executeBinary then
- astReflectGenerator(true)
- astReflectGenerator(false)
+ astReflectGenerator()
end
-- Next, we want to add a custom build rule for each of the
@@ -1225,13 +1234,8 @@ tool "slangd"
-- defining custom build commands:
--
if executeBinary then
- metaSlangGenerator(true)
- metaSlangGenerator(false)
- end
-
- if executeBinary then
- preludeGenerator(true)
- preludeGenerator(false)
+ metaSlangGenerator()
+ preludeGenerator()
end
filter { }
@@ -1312,18 +1316,13 @@ tool "slangd"
filter("files:source/slang/slang-stdlib-api.cpp")
-- Note! Has to be an absolute path else doesn't work(!)
buildoutputs { absOutputPath }
- local f = getWinArm64Filter(true)
- table.insert(f, "files:source/slang/slang-stdlib-api.cpp")
- filter(f)
- buildinputs { getWinArm64BuildDir(true) .. '/slangc-bootstrap' .. executableSuffix }
- buildcommands {'"' .. getWinArm64BuildDir(true) .. '/slangc-bootstrap" -archive-type riff-lz4 -save-stdlib-bin-source "%{file.directory}/slang-stdlib-generated.h"' }
- f = getWinArm64Filter(false)
- table.insert(f, "files:source/slang/slang-stdlib-api.cpp")
+ filter("files:source/slang/slang-stdlib-api.cpp")
+
filter(f)
buildinputs { "%{cfg.targetdir}/slangc-bootstrap" .. executableSuffix }
buildcommands { '"%{cfg.targetdir}/slangc-bootstrap" -archive-type riff-lz4 -save-stdlib-bin-source "%{file.directory}/slang-stdlib-generated.h"' }
end
-
+ end -- not skipSourceGeneration
--
-- TODO: Slang's current `Makefile` build does some careful incantations
@@ -1360,7 +1359,9 @@ tool "slangd"
if enableEmbedStdLib then
-- We only have this dependency if we are embedding stdlib
- dependson { "embed-stdlib-generator" }
+ if not skipSourceGeneration then
+ dependson { "embed-stdlib-generator" }
+ end
else
-- Disable StdLib embedding
defines { "SLANG_WITHOUT_EMBEDDED_STD_LIB" }
@@ -1395,12 +1396,14 @@ tool "slangd"
-- to generate. We do this by executing the run-generators 'dummy' project
-- which produces the appropriate source
- dependson { "run-generators" }
-
+ if not skipSourceGeneration then
+ dependson { "run-generators" }
+ end
+
-- If we have slang-llvm copy it
local slangLLVMPath = deps:getProjectRelativePath("slang-llvm", "../../..")
- if slangLLVMPath then
+ if slangLLVMPath and deployLLVM then
filter { "system:linux or macosx or windows" }
local sharedLibName = slangUtil.getSharedLibraryFileName(targetInfo, "slang-llvm")
postbuildcommands {
@@ -1412,7 +1415,7 @@ tool "slangd"
-- If we are not building glslang from source, then be
-- sure to copy a binary copy over to the output directory
- if not buildGlslang then
+ if not buildGlslang and slangGlslangPath~=nil and deployGLSLang then
filter { "system:linux or macosx or windows" }
local sharedLibName = slangUtil.getSharedLibraryFileName(targetInfo, "slang-glslang")
postbuildcommands {