summaryrefslogtreecommitdiffstats
path: root/premake5.lua
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2022-03-28 22:14:33 -0700
committerGitHub <noreply@github.com>2022-03-28 22:14:33 -0700
commit255fd5873f65a6b01d5385c277d55612dc3cc587 (patch)
tree54eda0ae98bc9c1b30ca75e534ca203d8e03f241 /premake5.lua
parent79b81083b75dc0abdbb8184568dbe36d082e04f3 (diff)
Allow slangc to generate exe from .slang file. (#2170)
Diffstat (limited to 'premake5.lua')
-rw-r--r--premake5.lua47
1 files changed, 26 insertions, 21 deletions
diff --git a/premake5.lua b/premake5.lua
index d5a9d102a..d4b1715a2 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -680,30 +680,17 @@ newoption {
example "cpu-hello-world"
kind "ConsoleApp"
-
if enableExperimental then
- project "heterogeneous-first-gen"
- kind "Utility"
+ project "heterogeneous-hello-world"
+ kind "ConsoleApp"
links "slangc"
location("build/" .. slangUtil.getBuildLocationName(targetInfo) .. "/heterogeneous-hello-world")
prebuildcommands {
- "\"%{wks.location:lower()}/bin/" .. targetName .. "/%{cfg.buildcfg:lower()}/slangc\" \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.slang\" -o \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.cpp\" -heterogeneous -target cpp -target hlsl"
- }
-
- example "heterogeneous-hello-world"
- kind "ConsoleApp"
- -- Additionally add slangc for compiling shader.cpp
- links { "example-base", "slang", "gfx", "gfx-util", "slangc", "platform", "core", "heterogeneous-first-gen" }
- -- Generate shader.cpp from shader.slang
- prebuildmessage "Generating shader.cpp in %{wks.location:lower()}/examples/heterogeneous-hello-world/"
- prebuildcommands {
- "\"%{wks.location:lower()}/bin/" .. targetName .. "/%{cfg.buildcfg:lower()}/slangc\" \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.slang\" -o \"%{wks.location:lower()}/examples/heterogeneous-hello-world/shader.cpp\" -heterogeneous -target cpp -target hlsl"
- }
- files {
- "examples/heterogeneous-hello-world/shader.cpp"
+ "\"%{cfg.targetdir}/slangc\" \"%{wks.location:lower()}/examples/heterogeneous-hello-world/main.slang\" -o \"%{cfg.targetdir}/heterogeneous-hello-world.exe\""
}
+ files {"examples/heterogeneous-hello-world/*.slang"}
+
end
-
-- Most of the other projects have more interesting configuration going
-- on, so let's walk through them in order of increasing complexity.
--
@@ -754,6 +741,21 @@ newoption {
addSourceDir "source/compiler-core/unix"
end
+standardProject("slang-rt", "source/slang-rt")
+ uuid "DFC79D72-91DE-434C-871B-B3943B488BEB"
+ kind "SharedLib"
+ pic "On"
+ warnings "Extra"
+ links {"miniz", "lz4"}
+ flags { "FatalWarnings" }
+ defines { "SLANG_RT_DYNAMIC", "SLANG_RT_DYNAMIC_EXPORT" }
+ addSourceDir "source/core"
+ if targetInfo.isWindows then
+ addSourceDir "source/core/windows"
+ else
+ addSourceDir "source/core/unix"
+ end
+
--
-- The cpp extractor is a tool that scans C++ header files to extract
-- reflection like information, and generate files to handle
@@ -1213,7 +1215,8 @@ newoption {
files {
"prelude/slang-cuda-prelude.h.cpp",
"prelude/slang-hlsl-prelude.h.cpp",
- "prelude/slang-cpp-prelude.h.cpp"
+ "prelude/slang-cpp-prelude.h.cpp",
+ "prelude/slang-cpp-host-prelude.h.cpp"
}
end
@@ -1318,7 +1321,8 @@ newoption {
files {
"prelude/slang-cuda-prelude.h.cpp",
"prelude/slang-hlsl-prelude.h.cpp",
- "prelude/slang-cpp-prelude.h.cpp"
+ "prelude/slang-cpp-prelude.h.cpp",
+ "prelude/slang-cpp-host-prelude.h.cpp"
}
--
@@ -1396,7 +1400,8 @@ newoption {
files {
"prelude/slang-cuda-prelude.h.cpp",
"prelude/slang-hlsl-prelude.h.cpp",
- "prelude/slang-cpp-prelude.h.cpp"
+ "prelude/slang-cpp-prelude.h.cpp",
+ "prelude/slang-cpp-host-prelude.h.cpp"
}
-- Add the slang source