From e2c2c220c642cc5f1c622f909d0ddfd22e6c04d4 Mon Sep 17 00:00:00 2001 From: Tim Foley Date: Fri, 11 May 2018 16:34:19 -0700 Subject: Generate Visual Studio projects using Premake (#557) * Generate Visual Studio projects using Premake This change adds a `premake5.lua` file that allows us to generate our Visual Studio solution using Premake 5 (https://premake.github.io/). The existing Visual Studio solution/projects are now replaced with the Premake-generated ones, and project contributors will be expected to update these by running premake after adding/removing files. I have *not* changed the Linux `Makefile` build at all, because that file is also used for things like running our tests, so that clobbering it with a premake-generated `Makefile` would break our continuous testing. Hopefully future changes can switch to a generated `Makefile` and perhaps even add an XCode project as well. Notes: * The `build/slang-build.props` file is no longer needed/used, so it has been removed. * The `slang-eval-test` test fixture wasn't following our naming conventions for its directory path, so it was updated to streamline the Premake build configuration work. This required changes to the `Makefile` as well * Some seemingly unncessary preprocessor definitions that were specified for `core` and `slang-glslang` have been dropped. We will see if anything breaks from that. * Possible fixup for Premake vpath issue Premake's `vpath` feature seems to be nondeterministic about the order it applies filters (because Lua isn't deterministic about the order of entries in a key/value table), and as a result we can end up in a weird case where it decides that a `foo.cpp.h` file matches the `**.cpp` filter (I'm not sure why) before it tests against the `**.h` filter. This change uses an (undocumented) Premake facility to set `vpath` using a list of singleton tables, which seems to fix the order in which things get tested. * Remove support for "single-file" build of Slang The `hello` example was the only bit of code that uses the "single-file" way of building Slang, and this had already run up against limitations of the Visual Studio compilers in its Debug|x64 build. Rather than mess with Premake to make it pass through the `/bigobj` linker flag that is needed to work around the issue, it makes more sense just to stop using/supporting the feature since we wouldn't want users to depend on it anyway (our documentation no longer refers to it). While I was at it I went ahead and made sure that the `SLANG_DYNAMIC` flag doesn't need to be set manually, so that instead there is a non-default `SLANG_STATIC` option (not that we have a static-library build of Slang at the moment). --- Makefile | 2 +- build/slang-build.props | 11 - docs/api-users-guide.md | 7 - examples/hello/hello.cpp | 11 - examples/hello/hello.vcxproj | 105 ++-- examples/hello/hello.vcxproj.filters | 15 +- premake5.lua | 539 +++++++++++++++++++++ slang.h | 48 +- slang.sln | 124 +++-- source/core/core.vcxproj | 193 ++++---- source/core/core.vcxproj.filters | 119 +++++ source/slang-glslang/slang-glslang.vcxproj | 229 ++++----- source/slang-glslang/slang-glslang.vcxproj.filters | 330 ++++++------- source/slang/slang.vcxproj | 173 ++++--- source/slang/slang.vcxproj.filters | 344 +++++++++---- source/slangc/main.cpp | 1 - source/slangc/slangc.vcxproj | 99 ++-- source/slangc/slangc.vcxproj.filters | 13 +- tools/eval-test/eval-test.vcxproj | 164 ------- tools/eval-test/eval-test.vcxproj.filters | 22 - tools/eval-test/main.cpp | 133 ----- tools/render-test/render-test.vcxproj | 155 +++--- tools/render-test/render-test.vcxproj.filters | 180 ++++--- tools/slang-eval-test/main.cpp | 133 +++++ tools/slang-eval-test/slang-eval-test.vcxproj | 178 +++++++ .../slang-eval-test.vcxproj.filters | 13 + tools/slang-generate/slang-generate.vcxproj | 88 ++-- .../slang-generate/slang-generate.vcxproj.filters | 13 +- .../slang-reflection-test.vcxproj | 100 ++-- .../slang-reflection-test.vcxproj.filters | 13 +- tools/slang-test/slang-test.vcxproj | 116 ++--- tools/slang-test/slang-test.vcxproj.filters | 30 +- 32 files changed, 2238 insertions(+), 1463 deletions(-) delete mode 100644 build/slang-build.props create mode 100644 premake5.lua create mode 100644 source/core/core.vcxproj.filters delete mode 100644 tools/eval-test/eval-test.vcxproj delete mode 100644 tools/eval-test/eval-test.vcxproj.filters delete mode 100644 tools/eval-test/main.cpp create mode 100644 tools/slang-eval-test/main.cpp create mode 100644 tools/slang-eval-test/slang-eval-test.vcxproj create mode 100644 tools/slang-eval-test/slang-eval-test.vcxproj.filters diff --git a/Makefile b/Makefile index b83f79465..50694b87b 100644 --- a/Makefile +++ b/Makefile @@ -103,7 +103,7 @@ SLANGC_SOURCES += $(CORE_SOURCES) SLANG_GLSLANG_SOURCES := source/slang-glslang/*.cpp SLANG_GLSLANG_HEADERS := source/slang-glslang/*.h -SLANG_EVAL_TEST_SOURCES := tools/eval-test/*.cpp +SLANG_EVAL_TEST_SOURCES := tools/slang-eval-test/*.cpp SLANG_EVAL_TEST_HEADERS := SLANG_REFLECTION_TEST_SOURCES := tools/slang-reflection-test/*.cpp diff --git a/build/slang-build.props b/build/slang-build.props deleted file mode 100644 index 265f54d14..000000000 --- a/build/slang-build.props +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - $(SolutionDir)bin\windows-$(PlatformShortName)\$(Configuration.ToLower())\ - $(SolutionDir)intermediate\windows-$(PlatformShortName)\$(Configuration.ToLower())\$(ProjectName)\ - - - - \ No newline at end of file diff --git a/docs/api-users-guide.md b/docs/api-users-guide.md index 6ad04c3a6..c9bbb40f9 100644 --- a/docs/api-users-guide.md +++ b/docs/api-users-guide.md @@ -12,13 +12,6 @@ We recommend using a pre-built binary package, available through GitHub [release Just add the downloaded package to your include path, and make sure to add (or copy) the `slang.dll` and `slang-glslang.dll` libraries into the path of your executable. -When using a binary release, you'll need to define the `SLANG_DYNAMIC` macro to indicate that you want to dynamically link against the API functions: - -```c++ -#define SLANG_DYNAMIC -#include -``` - Getting Started with the API ---------------------------- diff --git a/examples/hello/hello.cpp b/examples/hello/hello.cpp index 2d7bb81b5..aef6b90d1 100644 --- a/examples/hello/hello.cpp +++ b/examples/hello/hello.cpp @@ -2,7 +2,6 @@ // In order to use the Slang API, we need to include its header -#define SLANG_INCLUDE_IMPLEMENTATION #include // We will be rendering with Direct3D 11, so we need to include @@ -577,13 +576,3 @@ int WINAPI WinMain( return 0; } - - -// -// In order to actually use Slang in our application, we need to link in its -// implementation. The easiest way to accomplish this is by directly inlcuding -// the (concatenated) Slang source code into our app. -// - -#define SLANG_INCLUDE_IMPLEMENTATION -#include diff --git a/examples/hello/hello.vcxproj b/examples/hello/hello.vcxproj index 419d80a80..72bedbd72 100644 --- a/examples/hello/hello.vcxproj +++ b/examples/hello/hello.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Release - Win32 - Debug x64 + + Release + Win32 + Release x64 @@ -20,83 +20,88 @@ {E6385042-1649-4803-9EBD-168F8B7EF131} + true Win32Proj hello - 8.1 Application true - v140 Unicode - - - Application - false v140 - true - Unicode Application true + Unicode v140 + + + Application + false Unicode + v140 Application false - v140 - true Unicode + v140 - - - - + - - + - - true - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\hello\ + hello + .exe true - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\hello\ + hello + .exe false - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\hello\ + hello + .exe false - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\hello\ + hello + .exe - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - /bigobj %(AdditionalOptions) + MultiThreadedDebug Windows @@ -105,12 +110,13 @@ - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - _DEBUG;_WINDOWS;%(PreprocessorDefinitions) - /bigobj %(AdditionalOptions) + MultiThreadedDebug Windows @@ -119,38 +125,40 @@ + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full true true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - /bigobj %(AdditionalOptions) + false + true + MultiThreaded Windows true true - true + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full true true - NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - /bigobj %(AdditionalOptions) + false + true + MultiThreaded Windows true true - true @@ -159,6 +167,11 @@ + + + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} + + diff --git a/examples/hello/hello.vcxproj.filters b/examples/hello/hello.vcxproj.filters index cedbc9831..6855e69cc 100644 --- a/examples/hello/hello.vcxproj.filters +++ b/examples/hello/hello.vcxproj.filters @@ -1,9 +1,18 @@ - + - + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} + - + + Source Files + + + + + Source Files + \ No newline at end of file diff --git a/premake5.lua b/premake5.lua new file mode 100644 index 000000000..390d67a92 --- /dev/null +++ b/premake5.lua @@ -0,0 +1,539 @@ +-- premake5.lua + +-- This file describes the build configuration for Slang so +-- that premake can generate platform-specific build files +-- using Premake 5 (https://premake.github.io/). +-- +-- To update the build files that are checked in to the Slang repository, +-- run a `premake5` binary and specify the appropriate action, e.g.: +-- +-- premake5.exe --os=windows vs2015 +-- +-- If you are trying to build Slang on another platform, then you +-- can try invoking `premake5` for your desired OS and build format +-- and see what happens. +-- +-- If you are going to modify this file to change/customize the Slang +-- buidl, then you may need to read up on Premake's approach and +-- how it uses/abuses Lua syntax. A few important things to note: +-- +-- * Everything that *looks* like a declarative (e.g., `kind "SharedLib"`) +-- is actually a Lua function call (e.g., `kind("SharedLib")`) that +-- modifies the behind-the-scenes state that describes the build. +-- +-- * Many of these function calls are "sticky" and affect subsequent +-- calls, so ordering matters a *lot*. This file uses indentation to +-- represent some of the flow of state, but it is important to recognize +-- that the indentation is not semantically significant. +-- +-- * Because the configuration logic is just executable Lua code, we +-- can capture and re-use bits of configuration logic in ordinary +-- Lua subroutines. +-- +-- Now let's move on to the actual build: + +-- The "workspace" represents the overall build (the "solution" in +-- Visual Studio terms). It sets up basic build settings that will +-- apply across all projects. +-- +workspace "slang" + -- We will support debug/release configuration and x86/x64 builds. + configurations { "Debug", "Release" } + platforms { "x86", "x64" } + + -- The output binary directory will be derived from the OS + -- and configuration options, e.g. `bin/windows-x64/debug/` + targetdir "bin/%{cfg.system}-%{cfg.platform:lower()}/%{cfg.buildcfg:lower()}" + + -- The intermediate ("object") directory will use a similar + -- naming scheme to the output directory, but will also use + -- the project name to avoid cases where multiple projects + -- have source files with the same name. + objdir "intermediate/%{cfg.system}-%{cfg.platform:lower()}/%{cfg.buildcfg:lower()}/%{prj.name}" + + -- Statically link to the C/C++ runtime rather than create a DLL dependency. + flags { "StaticRuntime" } + + -- Once we've set up the common settings, we will make some tweaks + -- that only apply in a subset of cases. Each call to `filter()` + -- changes the "active" filter for subsequent commands. In + -- effect, those commands iwll be ignored when the conditions of + -- the filter aren't satisfied. + + -- Our `x64` platform should (obviously) target the x64 + -- architecture and similarly for x86. + filter { "platforms:x64" } + architecture "x64" + filter { "platforms:x86" } + architecture "x86" + + -- When compiling the debug configuration, we want to turn + -- optimization off, make sure debug symbols are output, + -- and add the same preprocessor definition that VS + -- would add by default. + filter { "configurations:debug" } + optimize "Off" + symbols "On" + defines { "_DEBUG" } + + -- For the release configuration we will turn optimizations on + -- (we do not yet micro-manage the optimization settings) + -- and set the preprocessor definition that VS would add by default. + filter { "configurations:release" } + optimize "On" + defines { "NDEBUG" } + +-- +-- We are now going to start defining the projects, where +-- each project builds some binary artifact (an executable, +-- library, etc.). +-- +-- All of our projects follow a common structure, so rather +-- than reiterate a bunch of build settings, we define +-- some subroutines that make the configuration as concise +-- as possible. +-- +-- First, we will define a helper routine for adding all +-- the relevant files from a given directory path: +-- +function addSourceDir(path) + files + { + path .. "/*.cpp", -- C++ source files + path .. "/*.slang", -- Slang files (for our stdlib) + path .. "/*.h", -- Header files + path .. "/*.hpp", -- C++ style headers (for glslang) + path .. "/*.natvis", -- Visual Studio debugger visualization files + } +end +-- +-- Next we will define a helper routine that all of our +-- projects will bottleneck through. Here `name` is +-- the name for the project (and the base name for +-- whatever output file it produces), while `baseDir` +-- is the parent directory of the project's directory. +-- +-- E.g., for the `slangc` project, the source code +-- is nested in `source/`, so we'd (indirectly) call: +-- +-- baseSlangProject("slangc", "source") +-- +function baseSlangProject(name, baseDir) + + -- The project directory will be nested inside + -- the base directory using the project's name. + -- + local projectDir = baseDir .. "/" .. name + + -- Start a new project in premake. This switches + -- the "current" project over to the newly created + -- one, so that subsequent commands affect this project. + -- + project(name) + + -- Set the location where the project file will be placed. + -- We set the project files to reside in their source + -- directory, because in Visual Studio the default + -- working directory when launching a project in the + -- debugger is its project directory. This ensures that + -- examples will work as expected for VS users. + -- + -- TODO: consider only setting this for examples, since + -- it is less relevant to other projects. + -- + location(projectDir) + + -- All of our projects are written in C++. + -- + language "C++" + + -- Since we know the project directory, we can go ahead + -- and add any source files locate there. + -- + -- Note that we do *not* recurse into subdirectories, + -- so projects that spread their source over multiple + -- directories will need to take more steps. + -- + addSourceDir(projectDir) + + -- By default, Premake generates VS project files that + -- reflect the directory structure of the source code. + -- While this is nice in principle, it creates messy + -- results in practice for our projects. + -- + -- Instead, we will use the `vpaths` feature to imitate + -- the default VS behavior of grouping files into + -- virtual subdirectories (VS calls them "filters") for + -- header and source files respectively. + -- + -- Note: We are setting `vpaths` using a list of key/value + -- tables instead of just a key/value table, since this + -- appears to be an (undocumented) way to fix the order + -- in which the filters are tested. Otherwise we have + -- issues where premake will nondeterministically decide + -- the check something against the `**.cpp` filter first, + -- and decide that a `foo.cpp.h` file should go into + -- the `"Source Files"` vpath. That behavior seems buggy, + -- but at least we appear to have a workaround. + -- + vpaths { + { ["Header Files"] = { "**.h", "**.hpp"} }, + { ["Source Files"] = { "**.cpp", "**.slang", "**.natvis" } }, + } +end + +-- We can now use the `baseSlangProject()` subroutine to +-- define helpers for the different categories of project +-- in our source tree. +-- +-- For example, the Slang project has several tools that +-- are used during building/testing, but don't need to +-- be distributed. These always have their source code in +-- `tools//`. +-- +function tool(name) + -- We use the `group` command here to specify that the + -- next project we create shold be placed into a group + -- named "tools" in a generated IDE solution/workspace. + -- + -- This is used in the generated Visual Studio solution + -- to group all the tools projects together in a logical + -- sub-directory of the solution. + -- + group "tools" + + -- Now we invoke our shared project configuration logic, + -- specifying that the project lives under the `tools/` path. + -- + baseSlangProject(name, "tools") + + -- Finally, we set the project "kind" to produce a console + -- application. This is a reasonable default for tools, + -- and it can be overriden because Premake is stateful, + -- and a subsequent call to `kind()` would overwrite this + -- default. + -- + kind "ConsoleApp" +end + +-- "Standard" projects will be those that go to make the binary +-- packages for slang: the shared libraries and executables. +-- +function standardProject(name) + -- Because Premake is stateful, any `group()` call by another + -- project would still be in effect when we create a project + -- here (e.g., if somebody had called `tool()` before + -- `standardProject()`), so we are careful here to set the + -- group to an emptry string, which Premake treats as "no group." + -- + group "" + + -- A standard project has its code under `source/` + -- + baseSlangProject(name, "source") +end + +-- Finally we have the example programs that show how to use Slang. +-- +function example(name) + -- Example programs go into an "example" group + group "examples" + + -- They have their source code under `examples//` + baseSlangProject(name, "examples") + + -- By default, all of our examples are GUI applications. One some + -- platforms there is no meaningful distinction between GUI and + -- command-line applications, but it is significant on Windows and MacOS + -- + kind "WindowedApp" + + -- Every example needs to be able to include the `slang.h` header + -- if it is going to use Slang, so we might as well set up a suitable + -- include path here rather than make each example do it. + -- + includedirs { "." } + + -- The examples also need to link against the slang library, + -- so we specify that here rather than in each example. + links { "slang" } +end + +-- +-- With all of these helper routines defined, we can now define the +-- actual projects quite simply. For example, here is the entire +-- declaration of the "Hello, World" example project: +-- +example "hello" + uuid "E6385042-1649-4803-9EBD-168F8B7EF131" +-- +-- Note how we are calling our custom `example()` subroutine with +-- the same syntax sugar that Premake usually advocates for their +-- `project()` function. This allows us to treat `example` as +-- a kind of specialized "subclass" of `project` +-- +-- The call to `uuid()` in the definition of `hello` establishes +-- the UUID/GUID that will be used for the project in generated +-- formats that use these as unique identifiers (e.g., Visual +-- Studio solutions). Without this call, Premake will generate +-- a fresh UUID for a project each time its generation logic +-- runs, which can create spurious diffs. +-- + +-- Most of the other projects have more interesting configuration going +-- on, so let's walk through them in order of increasing complexity. +-- +-- The `core` project is a static library that has all the basic types +-- and routines that get shared across both the Slang compiler/runtime +-- and the various tool projects. It's build is pretty simple: +-- + +standardProject "core" + uuid "F9BE7957-8399-899E-0C49-E714FDDD4B65" + kind "StaticLib" + + -- For our core implementation, we want to use the most + -- aggressive warning level supported by the target, and + -- to treat every warning as an error to make sure we + -- keep our code free of warnings. + -- + warnings "Extra" + flags { "FatalWarnings" } + + +-- +-- `slang-generate` is a tool we use for source code generation on +-- the compiler. It depends on the `core` library, so we need to +-- declare that: +-- + +tool "slang-generate" + uuid "66174227-8541-41FC-A6DF-4764FC66F78E" + links { "core" } + + +-- +-- The `slang-test` test driver also uses the `core` library, and it +-- currently relies on include paths being set up so that it can find +-- the core headers: +-- + +tool "slang-test" + uuid "0C768A18-1D25-4000-9F37-DA5FE99E3B64" + includedirs { "." } + links { "core" } + +-- +-- The reflection test harness `slang-reflection-test` is pretty +-- simple, in that it only needs to link against the slang library +-- to do its job: +-- + +tool "slang-reflection-test" + uuid "22C45F4F-FB6B-4535-BED1-D3F5D0C71047" + includedirs { "." } + links { "slang" } + +-- +-- `slang-eval-test` is similarly easy to build: +-- +-- Note: `slang-eval-test` will probably be deprecated and its functionality +-- folded into `render-test`, but we aren't ready for that just yet. +-- + +tool "slang-eval-test" + uuid "205FCAB9-A13F-4980-86FA-F6221A7095EE" + includedirs { "." } + links { "core", "slang" } + +-- +-- The most complex testing tool we have is `render-test`, but from +-- a build perspective the most interesting thing about it is that for +-- our Windows build it requires a Windows 10 SDK. +-- +-- TODO: Try to make the build not require a fixed version of the Windows SDK. +-- Ideally we should just specify a *minimum* version. +-- +-- This test also requires Vulkan headers which we've placed in the +-- `external/` directory, and it also includes files from the `core` +-- library in ways that require us to set up `source/` as an include path. +-- +-- TODO: Fix that requirement. +-- + +tool "render-test" + uuid "96610759-07B9-4EEB-A974-5C634A2E742B" + includedirs { ".", "external", "source" } + links { "core", "slang" } + filter { "system:windows" } + systemversion "10.0.14393.0" + +-- +-- The `slangc` command-line application is just a very thin wrapper +-- around the Slang dynamic library, so its build is extermely simple. +-- One windows `slangc` uses the the `core` library for some UTF-16 +-- to UTF-8 string conversion before calling into `slang.dll`, so +-- it also depends on `core`: +-- + +standardProject "slangc" + uuid "D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7" + kind "ConsoleApp" + links { "core", "slang" } + +-- +-- TODO: Slang's current `Makefile` build does some careful incantations +-- to make sure that the binaries it generates use a "relative `RPATH`" +-- for loading shared libraries, so that Slang is not dependent on +-- being installed to a fixed path on end-user machines. Before we +-- can use Premake for the Linux build (or evenatually MacOS) we would +-- need to figure out how to replicate this incantation in premake. +-- + +-- +-- Now that we've gotten all the simple projects out of the way, it is time +-- to get into the more serious build steps. +-- +-- First up is the `slang` dynamic library project: +-- + +standardProject "slang" + uuid "DB00DA62-0533-4AFD-B59F-A67D5B3A0808" + kind "SharedLib" + links { "core" } + warnings "Extra" + flags { "FatalWarnings" } + + -- The way that we currently configure things through `slang.h`, + -- we need to set a preprocessor definitions to ensure that + -- we declare the Slang API functions for *export* and not *import*. + -- + defines { "SLANG_DYNAMIC_EXPORT" } + + -- The `standardProject` operation already added all the code in + -- `source/slang/*`, but we also want to incldue the umbrella + -- `slang.h` header in this prject, so we do that manually here. + files { "slang.h" } + + -- The most challenging part of building `slang` is that we need + -- to invoke the `slang-generate` tool to generate the version + -- of the Slang standard library that we embed into the compiler. + -- + -- First, we need to ensure that `slang-generate` gets built + -- before `slang`, so we declare a non-linking dependency between + -- the projects here: + -- + dependson { "slang-generate" } + + -- Next, we want to add a custom build rule for each of the + -- files that makes up the standard library. Those are + -- always named `*.meta.slang`, so we can select for them + -- using a `filter` and then use Premake's support for + -- defining custom build commands: + -- + filter "files:**.meta.slang" + -- Specify the "friendly" message that should print to the build log for the action + buildmessage "slang-generate %{file.relpath}" + + -- Specify the actual command to run for this action. + -- + -- Note that we use a single-quoted Lua string and wrap the path + -- to the `slang-generate` command in double quotes to avoid + -- confusing the Windows shell. It seems that Premake outputs that + -- path with forward slashes, which confused the shell if we don't + -- quote the executable path. + -- + buildcommands { '"%{cfg.targetdir}/slang-generate" %{file.relpath}' } + + -- Given `foo.meta.slang` we woutput `foo.meta.slang.h`. + -- This needs to be specified because the custom action will only + -- run when this file needs to be generated. + -- + buildoutputs { "%{file.relpath}.h" } + + -- We will specify an additional build input dependency on the `slang-generate` + -- tool itself, so that changes to the code for the tool cause the generation + -- step to be re-run. + -- + -- In order to get the file name right, we need to know the executable suffix + -- that the target platform will use. Premake might have a built-in way to + -- query this, but I couldn't find it, so I am just winging it for now: + -- + local executableSuffix = ""; + if(os.target() == "windows") then + executableSuffix = ".exe"; + end + -- + buildinputs { "%{cfg.targetdir}/slang-generate" .. executableSuffix } + +-- +-- The single most complicated part of our build is our custom version of glslang. +-- Is not really set up to produce a shared library with a usable API, so we have +-- our own custom shim API around it to invoke GLSL->SPIRV compilation. +-- +-- Glslang normally relies on a CMake-based build process, and its code is spread +-- across multiple directories with implicit dependencies on certain command-line +-- definitions. +-- +-- The following is a tailored build of glslang that pulls in the pieces we care +-- about whle trying to leave out the rest: +-- +standardProject "slang-glslang" + uuid "C495878A-832C-485B-B347-0998A90CC936" + kind "SharedLib" + includedirs { "external/glslang" } + + defines + { + -- `ENABLE_OPT` must be defined (to either zero or one) for glslang to compile at all + "ENABLE_OPT=0", + + -- We want to build a version of glslang that supports every feature possible, + -- so we will enable all of the supported vendor-specific extensions so + -- that they can be used in Slang-generated GLSL code when required. + -- + "AMD_EXTENSIONS", + "NV_EXTENSIONS", + } + + -- We will add source code from every directory that is required to get a + -- minimal GLSL->SPIR-V compilation path working. + addSourceDir("external/glslang/glslang/GenericCodeGen") + addSourceDir("external/glslang/glslang/MachineIndependent") + addSourceDir("external/glslang/glslang/MachineIndependent/preprocessor") + addSourceDir("external/glslang/glslang/OSDependent") + addSourceDir("external/glslang/OGLCompilersDLL") + addSourceDir("external/glslang/SPIRV") + addSourceDir("external/glslang/StandAlone") + + -- Unfortunately, blindly adding files like that also pulled in a declaration + -- of a main entry point that we do *not* want, so we will specifically + -- exclude that file from our build. + removefiles { "external/glslang/StandAlone/StandAlone.cpp" } + + -- Glslang includes some platform-specific code around DLL setup/teardown + -- and handling of thread-local storage for its multi-threaded mode. We + -- don't really care about *any* of that, but we can't remove it from the + -- build so we need to include the appropriate platform-specific sources. + + filter { "system:windows" } + -- On Windows we need to add the platform-specific sources and then + -- remove the `main.cpp` file since it tries to define a `DllMain` + -- and we don't want the default glslang one. + addSourceDir( "external/glslang/glslang/OSDependent/Windows" ) + removefiles { "external/glslang/glslang/OSDependent/Windows/main.cpp" } + + filter { "system:linux" } + addSourceDir("external/glslang/glslang/OSDependent/Unix") + +-- +-- With glslang's build out of the way, we've now covered everything we have +-- to build to get Slang and its tools/examples built. +-- +-- What is not included in this file yet is support for any custom `make` +-- targets for: +-- +-- * Invoking the test runner +-- * Packaging up binaries +-- * "Installing" Slang on a user's machine +-- \ No newline at end of file diff --git a/slang.h b/slang.h index 04c35517a..784efd2b0 100644 --- a/slang.h +++ b/slang.h @@ -1,10 +1,8 @@ #ifndef SLANG_H #define SLANG_H -#if defined(SLANG_DYNAMIC_EXPORT) - #if !defined(SLANG_DYNAMIC) - #define SLANG_DYNAMIC - #endif +#if !defined(SLANG_STATIC) && !defined(SLANG_STATIC) + #define SLANG_DYNAMIC #endif #if defined(SLANG_DYNAMIC) @@ -1259,46 +1257,4 @@ namespace slang #endif -#ifdef SLANG_INCLUDE_IMPLEMENTATION - -#include "source/core/platform.cpp" -#include "source/core/slang-io.cpp" -#include "source/core/slang-string.cpp" -#include "source/core/stream.cpp" -#include "source/core/text-io.cpp" -#include "source/slang/bytecode.cpp" -#include "source/slang/diagnostics.cpp" -#include "source/slang/dxc-support.cpp" -#include "source/slang/emit.cpp" -#include "source/slang/ir.cpp" -#include "source/slang/ir-constexpr.cpp" -#include "source/slang/ir-dominators.cpp" -#include "source/slang/ir-legalize-types.cpp" -#include "source/slang/ir-ssa.cpp" -#include "source/slang/ir-validate.cpp" -#include "source/slang/legalize-types.cpp" -#include "source/slang/lexer.cpp" -#include "source/slang/mangle.cpp" -#include "source/slang/memory_pool.cpp" -#include "source/slang/name.cpp" -#include "source/slang/options.cpp" -#include "source/slang/parameter-binding.cpp" -#include "source/slang/parser.cpp" -#include "source/slang/preprocessor.cpp" -#include "source/slang/profile.cpp" -#include "source/slang/lookup.cpp" -#include "source/slang/lower-to-ir.cpp" -#include "source/slang/check.cpp" -#include "source/slang/compiler.cpp" -#include "source/slang/slang-stdlib.cpp" -#include "source/slang/source-loc.cpp" -#include "source/slang/syntax.cpp" -#include "source/slang/token.cpp" -#include "source/slang/type-layout.cpp" -#include "source/slang/reflection.cpp" -#include "source/slang/slang.cpp" -#include "source/slang/vm.cpp" -#include "source/slang/type-system-shared.cpp" -#endif - #endif diff --git a/slang.sln b/slang.sln index 33b903056..0d3f4e398 100644 --- a/slang.sln +++ b/slang.sln @@ -1,36 +1,32 @@ + Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 -VisualStudioVersion = 14.0.25420.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{B625E3E2-3B0B-4A01-9D10-957F84092E10}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "examples", "examples", "{EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hello", "examples\hello\hello.vcxproj", "{E6385042-1649-4803-9EBD-168F8B7EF131}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "core", "source\core\core.vcxproj", "{F9BE7957-8399-899E-0C49-E714FDDD4B65}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{74C5F0DC-93BB-4BF3-AC65-8C65491570F7}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{FD47AE19-69FD-260F-F2F1-20E65EA61D13}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang", "source\slang\slang.vcxproj", "{DB00DA62-0533-4AFD-B59F-A67D5B3A0808}" - ProjectSection(ProjectDependencies) = postProject - {66174227-8541-41FC-A6DF-4764FC66F78E} = {66174227-8541-41FC-A6DF-4764FC66F78E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slangc", "source\slangc\slangc.vcxproj", "{D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}" - ProjectSection(ProjectDependencies) = postProject - {C495878A-832C-485B-B347-0998A90CC936} = {C495878A-832C-485B-B347-0998A90CC936} - EndProjectSection +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-generate", "tools\slang-generate\slang-generate.vcxproj", "{66174227-8541-41FC-A6DF-4764FC66F78E}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-test", "tools\slang-test\slang-test.vcxproj", "{0C768A18-1D25-4000-9F37-DA5FE99E3B64}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "render-test", "tools\render-test\render-test.vcxproj", "{96610759-07B9-4EEB-A974-5C634A2E742B}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-reflection-test", "tools\slang-reflection-test\slang-reflection-test.vcxproj", "{22C45F4F-FB6B-4535-BED1-D3F5D0C71047}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-glslang", "source\slang-glslang\slang-glslang.vcxproj", "{C495878A-832C-485B-B347-0998A90CC936}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-eval-test", "tools\slang-eval-test\slang-eval-test.vcxproj", "{205FCAB9-A13F-4980-86FA-F6221A7095EE}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-generate", "tools\slang-generate\slang-generate.vcxproj", "{66174227-8541-41FC-A6DF-4764FC66F78E}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "render-test", "tools\render-test\render-test.vcxproj", "{96610759-07B9-4EEB-A974-5C634A2E742B}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-eval-test", "tools\eval-test\eval-test.vcxproj", "{205FCAB9-A13F-4980-86FA-F6221A7095EE}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slangc", "source\slangc\slangc.vcxproj", "{D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-reflection-test", "tools\slang-reflection-test\slang-reflection-test.vcxproj", "{22C45F4F-FB6B-4535-BED1-D3F5D0C71047}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang", "source\slang\slang.vcxproj", "{DB00DA62-0533-4AFD-B59F-A67D5B3A0808}" + ProjectSection(ProjectDependencies) = postProject + {66174227-8541-41FC-A6DF-4764FC66F78E} = {66174227-8541-41FC-A6DF-4764FC66F78E} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "slang-glslang", "source\slang-glslang\slang-glslang.vcxproj", "{C495878A-832C-485B-B347-0998A90CC936}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -56,22 +52,14 @@ Global {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|Win32.Build.0 = Release|Win32 {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|x64.ActiveCfg = Release|x64 {F9BE7957-8399-899E-0C49-E714FDDD4B65}.Release|x64.Build.0 = Release|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.ActiveCfg = Debug|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.Build.0 = Debug|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.ActiveCfg = Debug|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.Build.0 = Debug|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.ActiveCfg = Release|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.Build.0 = Release|Win32 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.ActiveCfg = Release|x64 - {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.Build.0 = Release|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.ActiveCfg = Debug|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.Build.0 = Debug|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.ActiveCfg = Debug|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.Build.0 = Debug|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.ActiveCfg = Release|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.Build.0 = Release|Win32 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.ActiveCfg = Release|x64 - {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.Build.0 = Release|x64 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.ActiveCfg = Debug|Win32 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.Build.0 = Debug|Win32 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.ActiveCfg = Debug|x64 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.Build.0 = Debug|x64 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.ActiveCfg = Release|Win32 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.Build.0 = Release|Win32 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.ActiveCfg = Release|x64 + {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.Build.0 = Release|x64 {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|Win32.ActiveCfg = Debug|Win32 {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|Win32.Build.0 = Debug|Win32 {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Debug|x64.ActiveCfg = Debug|x64 @@ -80,6 +68,22 @@ Global {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|Win32.Build.0 = Release|Win32 {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|x64.ActiveCfg = Release|x64 {0C768A18-1D25-4000-9F37-DA5FE99E3B64}.Release|x64.Build.0 = Release|x64 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|Win32.ActiveCfg = Debug|Win32 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|Win32.Build.0 = Debug|Win32 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|x64.ActiveCfg = Debug|x64 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|x64.Build.0 = Debug|x64 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|Win32.ActiveCfg = Release|Win32 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|Win32.Build.0 = Release|Win32 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|x64.ActiveCfg = Release|x64 + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|x64.Build.0 = Release|x64 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|Win32.ActiveCfg = Debug|Win32 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|Win32.Build.0 = Debug|Win32 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|x64.ActiveCfg = Debug|x64 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|x64.Build.0 = Debug|x64 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|Win32.ActiveCfg = Release|Win32 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|Win32.Build.0 = Release|Win32 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|x64.ActiveCfg = Release|x64 + {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|x64.Build.0 = Release|x64 {96610759-07B9-4EEB-A974-5C634A2E742B}.Debug|Win32.ActiveCfg = Debug|Win32 {96610759-07B9-4EEB-A974-5C634A2E742B}.Debug|Win32.Build.0 = Debug|Win32 {96610759-07B9-4EEB-A974-5C634A2E742B}.Debug|x64.ActiveCfg = Debug|x64 @@ -88,6 +92,22 @@ Global {96610759-07B9-4EEB-A974-5C634A2E742B}.Release|Win32.Build.0 = Release|Win32 {96610759-07B9-4EEB-A974-5C634A2E742B}.Release|x64.ActiveCfg = Release|x64 {96610759-07B9-4EEB-A974-5C634A2E742B}.Release|x64.Build.0 = Release|x64 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.ActiveCfg = Debug|Win32 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|Win32.Build.0 = Debug|Win32 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.ActiveCfg = Debug|x64 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Debug|x64.Build.0 = Debug|x64 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.ActiveCfg = Release|Win32 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|Win32.Build.0 = Release|Win32 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.ActiveCfg = Release|x64 + {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7}.Release|x64.Build.0 = Release|x64 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.ActiveCfg = Debug|Win32 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|Win32.Build.0 = Debug|Win32 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.ActiveCfg = Debug|x64 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Debug|x64.Build.0 = Debug|x64 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.ActiveCfg = Release|Win32 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|Win32.Build.0 = Release|Win32 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.ActiveCfg = Release|x64 + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808}.Release|x64.Build.0 = Release|x64 {C495878A-832C-485B-B347-0998A90CC936}.Debug|Win32.ActiveCfg = Debug|Win32 {C495878A-832C-485B-B347-0998A90CC936}.Debug|Win32.Build.0 = Debug|Win32 {C495878A-832C-485B-B347-0998A90CC936}.Debug|x64.ActiveCfg = Debug|x64 @@ -96,40 +116,16 @@ Global {C495878A-832C-485B-B347-0998A90CC936}.Release|Win32.Build.0 = Release|Win32 {C495878A-832C-485B-B347-0998A90CC936}.Release|x64.ActiveCfg = Release|x64 {C495878A-832C-485B-B347-0998A90CC936}.Release|x64.Build.0 = Release|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.ActiveCfg = Debug|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|Win32.Build.0 = Debug|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.ActiveCfg = Debug|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Debug|x64.Build.0 = Debug|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.ActiveCfg = Release|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|Win32.Build.0 = Release|Win32 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.ActiveCfg = Release|x64 - {66174227-8541-41FC-A6DF-4764FC66F78E}.Release|x64.Build.0 = Release|x64 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|Win32.ActiveCfg = Debug|Win32 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|Win32.Build.0 = Debug|Win32 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|x64.ActiveCfg = Debug|x64 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Debug|x64.Build.0 = Debug|x64 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|Win32.ActiveCfg = Release|Win32 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|Win32.Build.0 = Release|Win32 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|x64.ActiveCfg = Release|x64 - {205FCAB9-A13F-4980-86FA-F6221A7095EE}.Release|x64.Build.0 = Release|x64 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|Win32.ActiveCfg = Debug|Win32 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|Win32.Build.0 = Debug|Win32 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|x64.ActiveCfg = Debug|x64 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Debug|x64.Build.0 = Debug|x64 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|Win32.ActiveCfg = Release|Win32 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|Win32.Build.0 = Release|Win32 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|x64.ActiveCfg = Release|x64 - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {E6385042-1649-4803-9EBD-168F8B7EF131} = {B625E3E2-3B0B-4A01-9D10-957F84092E10} - {0C768A18-1D25-4000-9F37-DA5FE99E3B64} = {74C5F0DC-93BB-4BF3-AC65-8C65491570F7} - {96610759-07B9-4EEB-A974-5C634A2E742B} = {74C5F0DC-93BB-4BF3-AC65-8C65491570F7} - {66174227-8541-41FC-A6DF-4764FC66F78E} = {74C5F0DC-93BB-4BF3-AC65-8C65491570F7} - {205FCAB9-A13F-4980-86FA-F6221A7095EE} = {74C5F0DC-93BB-4BF3-AC65-8C65491570F7} - {22C45F4F-FB6B-4535-BED1-D3F5D0C71047} = {74C5F0DC-93BB-4BF3-AC65-8C65491570F7} + {E6385042-1649-4803-9EBD-168F8B7EF131} = {EB5FC2C6-D72D-B6CC-C0C1-26F3AC2E9231} + {66174227-8541-41FC-A6DF-4764FC66F78E} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} + {0C768A18-1D25-4000-9F37-DA5FE99E3B64} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} + {22C45F4F-FB6B-4535-BED1-D3F5D0C71047} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} + {205FCAB9-A13F-4980-86FA-F6221A7095EE} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} + {96610759-07B9-4EEB-A974-5C634A2E742B} = {FD47AE19-69FD-260F-F2F1-20E65EA61D13} EndGlobalSection EndGlobal diff --git a/source/core/core.vcxproj b/source/core/core.vcxproj index 803c1ab12..ecd8ee07b 100644 --- a/source/core/core.vcxproj +++ b/source/core/core.vcxproj @@ -18,196 +18,197 @@ x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Win32Proj - CoreLib {F9BE7957-8399-899E-0C49-E714FDDD4B65} - 8.1 + true + Win32Proj + core StaticLibrary true - v140 Unicode + v140 StaticLibrary true - v140 Unicode + v140 StaticLibrary false - v140 - true Unicode + v140 StaticLibrary false - v140 - true Unicode + v140 - - + - - - + - - + + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\core\ + core + .lib + + + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\core\ + core + .lib + + + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\core\ + core + .lib + + + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\core\ + core + .lib + - - + NotUsing Level4 + true + _DEBUG;%(PreprocessorDefinitions) + EditAndContinue Disabled - WIN32;_DEBUG;_LIB;WINDOWS_PLATFORM;%(PreprocessorDefinitions);GLEW_STATIC MultiThreadedDebug - false - Default - true Windows true - Shlwapi.lib + true - - + NotUsing Level4 + true + _DEBUG;%(PreprocessorDefinitions) + EditAndContinue Disabled - WIN32;_DEBUG;_LIB;WINDOWS_PLATFORM;%(PreprocessorDefinitions);GLEW_STATIC MultiThreadedDebug - true - false - Default - true Windows true - Shlwapi.lib + true - - true - + NotUsing Level4 - - - MaxSpeed + true + NDEBUG;%(PreprocessorDefinitions) + Full true true - WIN32;NDEBUG;_LIB;WINDOWS_PLATFORM;%(PreprocessorDefinitions);GLEW_STATIC + false + true MultiThreaded - false - true Windows - true true true - Shlwapi.lib + true + NotUsing Level4 - - - MaxSpeed + true + NDEBUG;%(PreprocessorDefinitions) + Full true true - WIN32;NDEBUG;_LIB;WINDOWS_PLATFORM;%(PreprocessorDefinitions);GLEW_STATIC + false + true MultiThreaded - false - true Windows - true true true - Shlwapi.lib + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/source/core/core.vcxproj.filters b/source/core/core.vcxproj.filters new file mode 100644 index 000000000..39a164770 --- /dev/null +++ b/source/core/core.vcxproj.filters @@ -0,0 +1,119 @@ + + + + + {21EB8090-0D4E-1035-B6D3-48EBA215DCB7} + + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Source Files + + + \ No newline at end of file diff --git a/source/slang-glslang/slang-glslang.vcxproj b/source/slang-glslang/slang-glslang.vcxproj index b9662efcf..d1975cba5 100644 --- a/source/slang-glslang/slang-glslang.vcxproj +++ b/source/slang-glslang/slang-glslang.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Release - Win32 - Debug x64 + + Release + Win32 + Release x64 @@ -20,158 +20,225 @@ {C495878A-832C-485B-B347-0998A90CC936} + true Win32Proj - slang_glslang - 8.1 - slang-glslang + slang-glslang DynamicLibrary true - v140 Unicode - - - DynamicLibrary - false v140 - true - Unicode DynamicLibrary true + Unicode v140 + + + DynamicLibrary + false Unicode + v140 DynamicLibrary false - v140 - true Unicode + v140 - - - - + - - + - - true - $(SolutionDir)external\glslang\;$(IncludePath) + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slang-glslang\ + slang-glslang + .dll true - $(SolutionDir)external\glslang\;$(IncludePath) + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slang-glslang\ + slang-glslang + .dll false - $(SolutionDir)external\glslang\;$(IncludePath) + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slang-glslang\ + slang-glslang + .dll false - $(SolutionDir)external\glslang\;$(IncludePath) + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slang-glslang\ + slang-glslang + .dll - - + NotUsing Level3 + _DEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions) + ..\..\external\glslang;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - NV_EXTENSIONS;AMD_EXTENSIONS;ENABLE_OPT=0;WIN32;_DEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions) - 4819;4267 + MultiThreadedDebug Windows true + ..\..\bin\windows-x86\debug\slang-glslang.lib - - + NotUsing Level3 + _DEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions) + ..\..\external\glslang;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - NV_EXTENSIONS;AMD_EXTENSIONS;ENABLE_OPT=0;_DEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions) - 4819;4267 + MultiThreadedDebug Windows true + ..\..\bin\windows-x64\debug\slang-glslang.lib + NotUsing Level3 - - - MaxSpeed + NDEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions) + ..\..\external\glslang;%(AdditionalIncludeDirectories) + Full true true - NV_EXTENSIONS;AMD_EXTENSIONS;ENABLE_OPT=0;WIN32;NDEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions) - 4819;4267 + false + true + MultiThreaded Windows true true - true + ..\..\bin\windows-x86\release\slang-glslang.lib + NotUsing Level3 - - - MaxSpeed + NDEBUG;ENABLE_OPT=0;AMD_EXTENSIONS;NV_EXTENSIONS;%(PreprocessorDefinitions) + ..\..\external\glslang;%(AdditionalIncludeDirectories) + Full true true - NV_EXTENSIONS;AMD_EXTENSIONS;ENABLE_OPT=0;NDEBUG;_WINDOWS;_USRDLL;GLSLANG_EXPORTS;%(PreprocessorDefinitions) - 4819;4267 + false + true + MultiThreaded Windows true true - true + ..\..\bin\windows-x64\release\slang-glslang.lib + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + + + + + - - - - @@ -179,63 +246,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/source/slang-glslang/slang-glslang.vcxproj.filters b/source/slang-glslang/slang-glslang.vcxproj.filters index 2adddaca4..0d3841020 100644 --- a/source/slang-glslang/slang-glslang.vcxproj.filters +++ b/source/slang-glslang/slang-glslang.vcxproj.filters @@ -1,253 +1,255 @@ - + - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd + {21EB8090-0D4E-1035-B6D3-48EBA215DCB7} - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} - + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - - + + Source Files + + Source Files - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - \ No newline at end of file diff --git a/source/slang/slang.vcxproj b/source/slang/slang.vcxproj index fa75d7378..f32355e83 100644 --- a/source/slang/slang.vcxproj +++ b/source/slang/slang.vcxproj @@ -20,163 +20,167 @@ {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} + true Win32Proj slang - slang - 8.1 DynamicLibrary true - v140 Unicode + v140 DynamicLibrary true - v140 Unicode + v140 DynamicLibrary false - v140 - true Unicode + v140 DynamicLibrary false - v140 - true Unicode + v140 - - + - - - + - true + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slang\ + slang + .dll true + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slang\ + slang + .dll false + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slang\ + slang + .dll false + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slang\ + slang + .dll - - + NotUsing Level4 + true + _DEBUG;SLANG_DYNAMIC_EXPORT;%(PreprocessorDefinitions) + EditAndContinue Disabled - SLANG_DYNAMIC;SLANG_DYNAMIC_EXPORT;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) - ../ MultiThreadedDebug - false - true - Console + Windows true + ..\..\bin\windows-x86\debug\slang.lib + true - - + NotUsing Level4 + true + _DEBUG;SLANG_DYNAMIC_EXPORT;%(PreprocessorDefinitions) + EditAndContinue Disabled - SLANG_DYNAMIC;SLANG_DYNAMIC_EXPORT;WIN32;_DEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) - ../ MultiThreadedDebug - true - false - true - Console + Windows true + ..\..\bin\windows-x64\debug\slang.lib + true - - true - + NotUsing Level4 - - - MaxSpeed + true + NDEBUG;SLANG_DYNAMIC_EXPORT;%(PreprocessorDefinitions) + Full true true - SLANG_DYNAMIC;SLANG_DYNAMIC_EXPORT;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) - ../ + false + true MultiThreaded - false - true - Console - true + Windows true true + ..\..\bin\windows-x86\release\slang.lib + true + NotUsing Level4 - - - MaxSpeed + true + NDEBUG;SLANG_DYNAMIC_EXPORT;%(PreprocessorDefinitions) + Full true true - SLANG_DYNAMIC;SLANG_DYNAMIC_EXPORT;WIN32;NDEBUG;_CONSOLE;_LIB;%(PreprocessorDefinitions) - ../ + false + true MultiThreaded - false - true - Console - true + Windows true true + ..\..\bin\windows-x64\release\slang.lib + true - - - - + + + @@ -251,50 +255,41 @@ - - {f9be7957-8399-899e-0c49-e714fddd4b65} - + Document - $(OutDir)slang-generate.exe %(Identity) - slang-generate %(Identity) - %(Identity).cpp - $(OutDir)slang-generate.exe - $(OutDir)slang-generate.exe %(Identity) - slang-generate %(Identity) - %(Identity).cpp - $(OutDir)slang-generate.exe - $(OutDir)slang-generate.exe %(Identity) - slang-generate %(Identity) - %(Identity).cpp - $(OutDir)slang-generate.exe - $(OutDir)slang-generate.exe %(Identity) - slang-generate %(Identity) - %(Identity).cpp - $(OutDir)slang-generate.exe + "../../bin/windows-x86/debug/slang-generate" %(Identity) + "../../bin/windows-x64/debug/slang-generate" %(Identity) + "../../bin/windows-x86/release/slang-generate" %(Identity) + "../../bin/windows-x64/release/slang-generate" %(Identity) + %(Identity).h + slang-generate %(Identity) + ../../bin/windows-x86/debug/slang-generate.exe + ../../bin/windows-x64/debug/slang-generate.exe + ../../bin/windows-x86/release/slang-generate.exe + ../../bin/windows-x64/release/slang-generate.exe Document - $(OutDir)slang-generate.exe %(Identity) - $(OutDir)slang-generate.exe %(Identity) - $(OutDir)slang-generate.exe %(Identity) - $(OutDir)slang-generate.exe %(Identity) - slang-generate %(Identity) - slang-generate %(Identity) - slang-generate %(Identity) - slang-generate %(Identity) - %(Identity).cpp - %(Identity).cpp - %(Identity).cpp - %(Identity).cpp - $(OutDir)slang-generate.exe - $(OutDir)slang-generate.exe - $(OutDir)slang-generate.exe - $(OutDir)slang-generate.exe + "../../bin/windows-x86/debug/slang-generate" %(Identity) + "../../bin/windows-x64/debug/slang-generate" %(Identity) + "../../bin/windows-x86/release/slang-generate" %(Identity) + "../../bin/windows-x64/release/slang-generate" %(Identity) + %(Identity).h + slang-generate %(Identity) + ../../bin/windows-x86/debug/slang-generate.exe + ../../bin/windows-x64/debug/slang-generate.exe + ../../bin/windows-x86/release/slang-generate.exe + ../../bin/windows-x64/release/slang-generate.exe + + + {F9BE7957-8399-899E-0C49-E714FDDD4B65} + + diff --git a/source/slang/slang.vcxproj.filters b/source/slang/slang.vcxproj.filters index 90b542551..991fe9c44 100644 --- a/source/slang/slang.vcxproj.filters +++ b/source/slang/slang.vcxproj.filters @@ -1,93 +1,271 @@ - + - - + + {21EB8090-0D4E-1035-B6D3-48EBA215DCB7} + + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + - - + + Source Files + + + + + Source Files + + + Source Files + \ No newline at end of file diff --git a/source/slangc/main.cpp b/source/slangc/main.cpp index 391642c3e..376b75212 100644 --- a/source/slangc/main.cpp +++ b/source/slangc/main.cpp @@ -1,6 +1,5 @@ // main.cpp -#define SLANG_DYNAMIC #include "../../slang.h" SLANG_API void spSetCommandLineCompilerMode(SlangCompileRequest* request); diff --git a/source/slangc/slangc.vcxproj b/source/slangc/slangc.vcxproj index 4855b7373..77a7dcea5 100644 --- a/source/slangc/slangc.vcxproj +++ b/source/slangc/slangc.vcxproj @@ -20,81 +20,87 @@ {D56CBCEB-1EB5-4CA8-AEC4-48EA35ED61C7} + true Win32Proj slangc - slangc - 8.1 Application true - v140 Unicode + v140 Application true - v140 Unicode + v140 Application false - v140 - true Unicode + v140 Application false - v140 - true Unicode + v140 - - + - - - + - true + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slangc\ + slangc + .exe true + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slangc\ + slangc + .exe false + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slangc\ + slangc + .exe false + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slangc\ + slangc + .exe - - - Level4 + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + EditAndContinue Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDebug - ../ - false - true Console @@ -103,15 +109,12 @@ - - - Level4 + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + EditAndContinue Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDebug - ../ - false - true Console @@ -120,57 +123,51 @@ - Level4 - - - MaxSpeed + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + Full true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true MultiThreaded - ../ - false - true Console - true true true - Level4 - - - MaxSpeed + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + Full true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true MultiThreaded - ../ - false - true Console - true true true + + + - {f9be7957-8399-899e-0c49-e714fddd4b65} + {F9BE7957-8399-899E-0C49-E714FDDD4B65} - {db00da62-0533-4afd-b59f-a67d5b3a0808} + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} - - - diff --git a/source/slangc/slangc.vcxproj.filters b/source/slangc/slangc.vcxproj.filters index 0d8d9e457..e9ae1c092 100644 --- a/source/slangc/slangc.vcxproj.filters +++ b/source/slangc/slangc.vcxproj.filters @@ -1,17 +1,8 @@ - + - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} diff --git a/tools/eval-test/eval-test.vcxproj b/tools/eval-test/eval-test.vcxproj deleted file mode 100644 index 83f25b1df..000000000 --- a/tools/eval-test/eval-test.vcxproj +++ /dev/null @@ -1,164 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - Debug - x64 - - - Release - x64 - - - - {205FCAB9-A13F-4980-86FA-F6221A7095EE} - Win32Proj - evaltest - 8.1 - slang-eval-test - - - - Application - true - v140 - Unicode - - - Application - false - v140 - true - Unicode - - - Application - true - v140 - Unicode - - - Application - false - v140 - true - Unicode - - - - - - - - - - - - - - - - - - - - - - - - - true - $(SolutionDir);$(IncludePath) - - - true - $(SolutionDir);$(IncludePath) - - - false - $(SolutionDir);$(IncludePath) - - - false - $(SolutionDir);$(IncludePath) - - - - - - Level3 - Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - - - - - - - Level3 - Disabled - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - - - - - Level3 - - - MaxSpeed - true - true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - true - true - - - - - Level3 - - - MaxSpeed - true - true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) - - - Console - true - true - true - - - - - - - - {db00da62-0533-4afd-b59f-a67d5b3a0808} - - - - - - \ No newline at end of file diff --git a/tools/eval-test/eval-test.vcxproj.filters b/tools/eval-test/eval-test.vcxproj.filters deleted file mode 100644 index 0d8d9e457..000000000 --- a/tools/eval-test/eval-test.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/tools/eval-test/main.cpp b/tools/eval-test/main.cpp deleted file mode 100644 index e01d4441b..000000000 --- a/tools/eval-test/main.cpp +++ /dev/null @@ -1,133 +0,0 @@ -// main.cpp - -#include -#include -#include -#include "../../source/core/secure-crt.h" -#include - -int main( - int argc, - char** argv) -{ - // TODO: parse arguments - - assert(argc >= 2); - char const* inputPath = argv[1]; - - // Slurp in the input file, so that we can compile and run it - FILE* inputFile; - fopen_s(&inputFile, inputPath, "rb"); - assert(inputFile); - - fseek(inputFile, 0, SEEK_END); - size_t inputSize = ftell(inputFile); - fseek(inputFile, 0, SEEK_SET); - - char* inputText = (char*) malloc(inputSize + 1); - fread(inputText, inputSize, 1, inputFile); - inputText[inputSize] = 0; - fclose(inputFile); - - // TODO: scan through the text to find comments, - // that instruct us how to generate input and - // consume output when running the test. - - // - - SlangSession* session = spCreateSession(nullptr); - SlangCompileRequest* request = spCreateCompileRequest(session); - - spSetOutputContainerFormat( - request, - SLANG_CONTAINER_FORMAT_SLANG_MODULE); - - int translationUnitIndex = spAddTranslationUnit( - request, - SLANG_SOURCE_LANGUAGE_SLANG, - nullptr); - - spAddTranslationUnitSourceString( - request, - translationUnitIndex, - inputPath, - inputText); - - int entryPointIndex = spAddEntryPoint( - request, - translationUnitIndex, - "main", - spFindProfile(session, "cs_5_0")); - - if( spCompile(request) != 0 ) - { - char const* output = spGetDiagnosticOutput(request); - fputs(output, stderr); - exit(1); - } - - // Things compiled, so now we need to run them... - - // Extract the bytecode - size_t bytecodeSize = 0; - void const* bytecode = spGetCompileRequestCode(request, &bytecodeSize); - - // Now we need to create an execution context to go and run the bytecode we got - - SlangVM* vm = SlangVM_create(); - - SlangVMModule* vmModule = SlangVMModule_load( - vm, - bytecode, - bytecodeSize); - - SlangVMFunc* vmFunc = (SlangVMFunc*)SlangVMModule_findGlobalSymbolPtr( - vmModule, - "main"); - - int32_t*& inputArg = *(int32_t**)SlangVMModule_findGlobalSymbolPtr( - vmModule, - "input"); - - int32_t*& outputArg = *(int32_t**)SlangVMModule_findGlobalSymbolPtr( - vmModule, - "output"); - - SlangVMThread* vmThread = SlangVMThread_create( - vm); - - int32_t inputData[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - int32_t outputData[8] = { 0 }; - - inputArg = inputData; - outputArg = outputData; - - // TODO: set arguments based on specification from the user... - for (uint32_t threadID = 0; threadID < 8; ++threadID) - { -#if 0 - fprintf(stderr, "\n\nthreadID = %u\n\n", threadID); - fflush(stderr); -#endif - - SlangVMThread_beginCall(vmThread, vmFunc); - - SlangVMThread_setArg( - vmThread, - 0, - &threadID, - sizeof(threadID)); - - SlangVMThread_resume(vmThread); - } - - for (uint32_t ii = 0; ii < 8; ++ii) - { - fprintf(stdout, "outputData[%u] = %d\n", ii, outputData[ii]); - } - - spDestroyCompileRequest(request); - spDestroySession(session); - - return 0; -} diff --git a/tools/render-test/render-test.vcxproj b/tools/render-test/render-test.vcxproj index 9889ba979..eabb11615 100644 --- a/tools/render-test/render-test.vcxproj +++ b/tools/render-test/render-test.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Release - Win32 - Debug x64 + + Release + Win32 + Release x64 @@ -20,89 +20,89 @@ {96610759-07B9-4EEB-A974-5C634A2E742B} + true Win32Proj - rendertest + render-test 10.0.14393.0 Application true - v140 Unicode - - - Application - false v140 - true - Unicode Application true + Unicode v140 + + + Application + false Unicode + v140 Application false - v140 - true Unicode + v140 - - - - + - - + - - true - $(SolutionDir)external\;$(SolutionDir);$(IncludePath) - $(SolutionDir)external\vulkan\lib\windows-$(PlatformShortName)\;$(LibraryPath) + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\render-test\ + render-test + .exe true - $(SolutionDir)external\;$(SolutionDir);$(IncludePath) - $(SolutionDir)external\vulkan\lib\windows-$(PlatformShortName)\;$(LibraryPath) + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\render-test\ + render-test + .exe false - $(SolutionDir)external\;$(SolutionDir);$(IncludePath) - $(SolutionDir)external\vulkan\lib\windows-$(PlatformShortName)\;$(LibraryPath) + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\render-test\ + render-test + .exe false - $(SolutionDir)external\;$(SolutionDir);$(IncludePath) - $(SolutionDir)external\vulkan\lib\windows-$(PlatformShortName)\;$(LibraryPath) + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\render-test\ + render-test + .exe - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;..\..\external;..\..\source;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - ../../source/ MultiThreadedDebug - true Console @@ -111,14 +111,13 @@ - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;..\..\external;..\..\source;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - _DEBUG;_WINDOWS;%(PreprocessorDefinitions) - ../../source/ MultiThreadedDebug - true Console @@ -127,67 +126,42 @@ + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + ..\..;..\..\external;..\..\source;%(AdditionalIncludeDirectories) + Full true true - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - ../../source/ + false + true MultiThreaded - true Console true true - true + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + ..\..;..\..\external;..\..\source;%(AdditionalIncludeDirectories) + Full true true - NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - ../../source/ + false + true MultiThreaded - true Console true true - true - - - - - - - - - - - - - - - - - - - - - - - @@ -211,12 +185,35 @@ + + + + + + + + + + + + + + + + + + + + + + + - {f9be7957-8399-899e-0c49-e714fddd4b65} + {F9BE7957-8399-899E-0C49-E714FDDD4B65} - {db00da62-0533-4afd-b59f-a67d5b3a0808} + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} diff --git a/tools/render-test/render-test.vcxproj.filters b/tools/render-test/render-test.vcxproj.filters index a8453035b..b2f48a397 100644 --- a/tools/render-test/render-test.vcxproj.filters +++ b/tools/render-test/render-test.vcxproj.filters @@ -1,147 +1,141 @@ - + - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd + {21EB8090-0D4E-1035-B6D3-48EBA215DCB7} - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} - + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files Source Files - + Source Files - + Source Files - + Source Files - + Source Files - + Source Files Source Files - + Source Files - + Source Files - + Source Files Source Files - + Source Files - + Source Files - + Source Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - \ No newline at end of file diff --git a/tools/slang-eval-test/main.cpp b/tools/slang-eval-test/main.cpp new file mode 100644 index 000000000..e01d4441b --- /dev/null +++ b/tools/slang-eval-test/main.cpp @@ -0,0 +1,133 @@ +// main.cpp + +#include +#include +#include +#include "../../source/core/secure-crt.h" +#include + +int main( + int argc, + char** argv) +{ + // TODO: parse arguments + + assert(argc >= 2); + char const* inputPath = argv[1]; + + // Slurp in the input file, so that we can compile and run it + FILE* inputFile; + fopen_s(&inputFile, inputPath, "rb"); + assert(inputFile); + + fseek(inputFile, 0, SEEK_END); + size_t inputSize = ftell(inputFile); + fseek(inputFile, 0, SEEK_SET); + + char* inputText = (char*) malloc(inputSize + 1); + fread(inputText, inputSize, 1, inputFile); + inputText[inputSize] = 0; + fclose(inputFile); + + // TODO: scan through the text to find comments, + // that instruct us how to generate input and + // consume output when running the test. + + // + + SlangSession* session = spCreateSession(nullptr); + SlangCompileRequest* request = spCreateCompileRequest(session); + + spSetOutputContainerFormat( + request, + SLANG_CONTAINER_FORMAT_SLANG_MODULE); + + int translationUnitIndex = spAddTranslationUnit( + request, + SLANG_SOURCE_LANGUAGE_SLANG, + nullptr); + + spAddTranslationUnitSourceString( + request, + translationUnitIndex, + inputPath, + inputText); + + int entryPointIndex = spAddEntryPoint( + request, + translationUnitIndex, + "main", + spFindProfile(session, "cs_5_0")); + + if( spCompile(request) != 0 ) + { + char const* output = spGetDiagnosticOutput(request); + fputs(output, stderr); + exit(1); + } + + // Things compiled, so now we need to run them... + + // Extract the bytecode + size_t bytecodeSize = 0; + void const* bytecode = spGetCompileRequestCode(request, &bytecodeSize); + + // Now we need to create an execution context to go and run the bytecode we got + + SlangVM* vm = SlangVM_create(); + + SlangVMModule* vmModule = SlangVMModule_load( + vm, + bytecode, + bytecodeSize); + + SlangVMFunc* vmFunc = (SlangVMFunc*)SlangVMModule_findGlobalSymbolPtr( + vmModule, + "main"); + + int32_t*& inputArg = *(int32_t**)SlangVMModule_findGlobalSymbolPtr( + vmModule, + "input"); + + int32_t*& outputArg = *(int32_t**)SlangVMModule_findGlobalSymbolPtr( + vmModule, + "output"); + + SlangVMThread* vmThread = SlangVMThread_create( + vm); + + int32_t inputData[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + int32_t outputData[8] = { 0 }; + + inputArg = inputData; + outputArg = outputData; + + // TODO: set arguments based on specification from the user... + for (uint32_t threadID = 0; threadID < 8; ++threadID) + { +#if 0 + fprintf(stderr, "\n\nthreadID = %u\n\n", threadID); + fflush(stderr); +#endif + + SlangVMThread_beginCall(vmThread, vmFunc); + + SlangVMThread_setArg( + vmThread, + 0, + &threadID, + sizeof(threadID)); + + SlangVMThread_resume(vmThread); + } + + for (uint32_t ii = 0; ii < 8; ++ii) + { + fprintf(stdout, "outputData[%u] = %d\n", ii, outputData[ii]); + } + + spDestroyCompileRequest(request); + spDestroySession(session); + + return 0; +} diff --git a/tools/slang-eval-test/slang-eval-test.vcxproj b/tools/slang-eval-test/slang-eval-test.vcxproj new file mode 100644 index 000000000..c7b214d4a --- /dev/null +++ b/tools/slang-eval-test/slang-eval-test.vcxproj @@ -0,0 +1,178 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {205FCAB9-A13F-4980-86FA-F6221A7095EE} + true + Win32Proj + slang-eval-test + + + + Application + true + Unicode + v140 + + + Application + true + Unicode + v140 + + + Application + false + Unicode + v140 + + + Application + false + Unicode + v140 + + + + + + + + + + + + + + + + + + + true + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slang-eval-test\ + slang-eval-test + .exe + + + true + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slang-eval-test\ + slang-eval-test + .exe + + + false + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slang-eval-test\ + slang-eval-test + .exe + + + false + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slang-eval-test\ + slang-eval-test + .exe + + + + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue + Disabled + MultiThreadedDebug + + + Console + true + + + + + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue + Disabled + MultiThreadedDebug + + + Console + true + + + + + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full + true + true + false + true + MultiThreaded + + + Console + true + true + + + + + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full + true + true + false + true + MultiThreaded + + + Console + true + true + + + + + + + + {F9BE7957-8399-899E-0C49-E714FDDD4B65} + + + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} + + + + + + \ No newline at end of file diff --git a/tools/slang-eval-test/slang-eval-test.vcxproj.filters b/tools/slang-eval-test/slang-eval-test.vcxproj.filters new file mode 100644 index 000000000..e9ae1c092 --- /dev/null +++ b/tools/slang-eval-test/slang-eval-test.vcxproj.filters @@ -0,0 +1,13 @@ + + + + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} + + + + + Source Files + + + \ No newline at end of file diff --git a/tools/slang-generate/slang-generate.vcxproj b/tools/slang-generate/slang-generate.vcxproj index 2293fc65b..39bcef167 100644 --- a/tools/slang-generate/slang-generate.vcxproj +++ b/tools/slang-generate/slang-generate.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Release - Win32 - Debug x64 + + Release + Win32 + Release x64 @@ -20,78 +20,86 @@ {66174227-8541-41FC-A6DF-4764FC66F78E} + true Win32Proj - slanggenerate - 8.1 + slang-generate Application true - v140 Unicode - - - Application - false v140 - true - Unicode Application true + Unicode v140 + + + Application + false Unicode + v140 Application false - v140 - true Unicode + v140 - - - - + - - + - - true + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slang-generate\ + slang-generate + .exe true + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slang-generate\ + slang-generate + .exe false + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slang-generate\ + slang-generate + .exe false + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slang-generate\ + slang-generate + .exe - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + EditAndContinue Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDebug @@ -101,11 +109,11 @@ - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + EditAndContinue Disabled - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDebug @@ -115,38 +123,38 @@ + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + Full true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true MultiThreaded Console true true - true + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + Full true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true MultiThreaded Console true true - true @@ -154,7 +162,7 @@ - {f9be7957-8399-899e-0c49-e714fddd4b65} + {F9BE7957-8399-899E-0C49-E714FDDD4B65} diff --git a/tools/slang-generate/slang-generate.vcxproj.filters b/tools/slang-generate/slang-generate.vcxproj.filters index 0d8d9e457..e9ae1c092 100644 --- a/tools/slang-generate/slang-generate.vcxproj.filters +++ b/tools/slang-generate/slang-generate.vcxproj.filters @@ -1,17 +1,8 @@ - + - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} diff --git a/tools/slang-reflection-test/slang-reflection-test.vcxproj b/tools/slang-reflection-test/slang-reflection-test.vcxproj index 5ac386d57..78e562401 100644 --- a/tools/slang-reflection-test/slang-reflection-test.vcxproj +++ b/tools/slang-reflection-test/slang-reflection-test.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Release - Win32 - Debug x64 + + Release + Win32 + Release x64 @@ -20,82 +20,88 @@ {22C45F4F-FB6B-4535-BED1-D3F5D0C71047} + true Win32Proj - slangreflectiontest - 8.1 + slang-reflection-test Application true - v140 Unicode - - - Application - false v140 - true - Unicode Application true + Unicode v140 + + + Application + false Unicode + v140 Application false - v140 - true Unicode + v140 - - - - + - - + - - true - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slang-reflection-test\ + slang-reflection-test + .exe true - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slang-reflection-test\ + slang-reflection-test + .exe false - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slang-reflection-test\ + slang-reflection-test + .exe false - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slang-reflection-test\ + slang-reflection-test + .exe - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDebug Console @@ -104,11 +110,13 @@ - - + NotUsing Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) + MultiThreadedDebug Console @@ -117,36 +125,40 @@ + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true + MultiThreaded Console true true - true + NotUsing Level3 - - - MaxSpeed + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true + MultiThreaded Console true true - true @@ -154,7 +166,7 @@ - {db00da62-0533-4afd-b59f-a67d5b3a0808} + {DB00DA62-0533-4AFD-B59F-A67D5B3A0808} diff --git a/tools/slang-reflection-test/slang-reflection-test.vcxproj.filters b/tools/slang-reflection-test/slang-reflection-test.vcxproj.filters index 0d8d9e457..e9ae1c092 100644 --- a/tools/slang-reflection-test/slang-reflection-test.vcxproj.filters +++ b/tools/slang-reflection-test/slang-reflection-test.vcxproj.filters @@ -1,17 +1,8 @@ - + - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} diff --git a/tools/slang-test/slang-test.vcxproj b/tools/slang-test/slang-test.vcxproj index 34d9bed40..9524529bb 100644 --- a/tools/slang-test/slang-test.vcxproj +++ b/tools/slang-test/slang-test.vcxproj @@ -5,14 +5,14 @@ Debug Win32 - - Release - Win32 - Debug x64 + + Release + Win32 + Release x64 @@ -20,84 +20,88 @@ {0C768A18-1D25-4000-9F37-DA5FE99E3B64} + true Win32Proj - slang_test - 8.1 + slang-test Application true - v140 Unicode - - - Application - false v140 - true - Unicode Application true + Unicode v140 + + + Application + false Unicode + v140 Application false - v140 - true Unicode + v140 - - - - + - - + - - true - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x86\debug\ + ..\..\intermediate\windows-x86\debug\slang-test\ + slang-test + .exe true - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x64\debug\ + ..\..\intermediate\windows-x64\debug\slang-test\ + slang-test + .exe false - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x86\release\ + ..\..\intermediate\windows-x86\release\slang-test\ + slang-test + .exe false - $(SolutionDir);$(IncludePath) + ..\..\bin\windows-x64\release\ + ..\..\intermediate\windows-x64\release\slang-test\ + slang-test + .exe - - - Level4 + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDebug - true Console @@ -106,13 +110,13 @@ - - - Level4 + NotUsing + Level3 + _DEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + EditAndContinue Disabled - _DEBUG;_CONSOLE;%(PreprocessorDefinitions) MultiThreadedDebug - true Console @@ -121,54 +125,54 @@ - Level4 - - - MaxSpeed + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full true true - WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true MultiThreaded - true Console true true - true - Level4 - - - MaxSpeed + NotUsing + Level3 + NDEBUG;%(PreprocessorDefinitions) + ..\..;%(AdditionalIncludeDirectories) + Full true true - NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + false + true MultiThreaded - true Console true true - true + + + + - - - - - {f9be7957-8399-899e-0c49-e714fddd4b65} + {F9BE7957-8399-899E-0C49-E714FDDD4B65} diff --git a/tools/slang-test/slang-test.vcxproj.filters b/tools/slang-test/slang-test.vcxproj.filters index e9342cfd6..f22903aa6 100644 --- a/tools/slang-test/slang-test.vcxproj.filters +++ b/tools/slang-test/slang-test.vcxproj.filters @@ -1,19 +1,21 @@ - + - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd + {21EB8090-0D4E-1035-B6D3-48EBA215DCB7} - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + {E9C7FDCE-D52A-8D73-7EB0-C5296AF258F6} + + + Header Files + + + Header Files + + Source Files @@ -25,12 +27,4 @@ Source Files - - - Header Files - - - Header Files - - \ No newline at end of file -- cgit v1.2.3