diff options
| author | Yong He <yonghe@outlook.com> | 2020-09-24 14:30:12 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-24 14:30:12 -0700 |
| commit | b72353ec3fe529237828cacbe710233d31eb4837 (patch) | |
| tree | 2aec9af97efe52b722cb730f8db1c44641e58c62 /source/slang | |
| parent | 150218bec9e992d32833dd9a0c1396a4d7c12b7e (diff) | |
Enable default cpp prelude. (#1560)
* Enable default cpp prelude.
* Print the "#include" line as a normal source if the file does not exist.
* Bug fix
* Fix.
* Fix c++ prelude header.
* Remove unnecessary fopen call.
Diffstat (limited to 'source/slang')
| -rw-r--r-- | source/slang/run-generators.vcxproj | 30 | ||||
| -rw-r--r-- | source/slang/run-generators.vcxproj.filters | 14 | ||||
| -rw-r--r-- | source/slang/slang.cpp | 10 | ||||
| -rw-r--r-- | source/slang/slang.vcxproj | 1 | ||||
| -rw-r--r-- | source/slang/slang.vcxproj.filters | 3 |
5 files changed, 22 insertions, 36 deletions
diff --git a/source/slang/run-generators.vcxproj b/source/slang/run-generators.vcxproj index 41f61f01d..82b993466 100644 --- a/source/slang/run-generators.vcxproj +++ b/source/slang/run-generators.vcxproj @@ -154,6 +154,10 @@ </Link> </ItemDefinitionGroup> <ItemGroup> + <ClInclude Include="..\..\prelude\slang-cpp-scalar-intrinsics.h" /> + <ClInclude Include="..\..\prelude\slang-cpp-types.h" /> + </ItemGroup> + <ItemGroup> <ClCompile Include="..\core\slang-string.cpp" /> </ItemGroup> <ItemGroup> @@ -170,32 +174,6 @@ <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> </CustomBuild> - <CustomBuild Include="..\..\prelude\slang-cpp-scalar-intrinsics.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)'=='Release|Win32'">"../../bin/windows-x86/release/slang-embed" %(Identity)</Command> - <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../bin/windows-x64/release/slang-embed" %(Identity)</Command> - <Outputs>../../prelude/slang-cpp-scalar-intrinsics.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)'=='Release|Win32'">../../bin/windows-x86/release/slang-embed.exe</AdditionalInputs> - <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../bin/windows-x64/release/slang-embed.exe</AdditionalInputs> - </CustomBuild> - <CustomBuild Include="..\..\prelude\slang-cpp-types.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)'=='Release|Win32'">"../../bin/windows-x86/release/slang-embed" %(Identity)</Command> - <Command Condition="'$(Configuration)|$(Platform)'=='Release|x64'">"../../bin/windows-x64/release/slang-embed" %(Identity)</Command> - <Outputs>../../prelude/slang-cpp-types.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)'=='Release|Win32'">../../bin/windows-x86/release/slang-embed.exe</AdditionalInputs> - <AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|x64'">../../bin/windows-x64/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> diff --git a/source/slang/run-generators.vcxproj.filters b/source/slang/run-generators.vcxproj.filters index 6a51d5ba7..e8ec8394a 100644 --- a/source/slang/run-generators.vcxproj.filters +++ b/source/slang/run-generators.vcxproj.filters @@ -9,6 +9,14 @@ </Filter> </ItemGroup> <ItemGroup> + <ClInclude Include="..\..\prelude\slang-cpp-scalar-intrinsics.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\prelude\slang-cpp-types.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> <ClCompile Include="..\core\slang-string.cpp"> <Filter>Source Files</Filter> </ClCompile> @@ -17,12 +25,6 @@ <CustomBuild Include="..\..\prelude\slang-cpp-prelude.h"> <Filter>Header Files</Filter> </CustomBuild> - <CustomBuild Include="..\..\prelude\slang-cpp-scalar-intrinsics.h"> - <Filter>Header Files</Filter> - </CustomBuild> - <CustomBuild Include="..\..\prelude\slang-cpp-types.h"> - <Filter>Header Files</Filter> - </CustomBuild> <CustomBuild Include="..\..\prelude\slang-cuda-prelude.h"> <Filter>Header Files</Filter> </CustomBuild> diff --git a/source/slang/slang.cpp b/source/slang/slang.cpp index 1086338f4..572c9c3a3 100644 --- a/source/slang/slang.cpp +++ b/source/slang/slang.cpp @@ -41,8 +41,9 @@ #undef NOMINMAX #endif -extern char const* slang_cuda_prelude; -extern char const* slang_hlsl_prelude; +extern Slang::String get_slang_cuda_prelude(); +extern Slang::String get_slang_cpp_prelude(); +extern Slang::String get_slang_hlsl_prelude(); namespace Slang { @@ -189,8 +190,9 @@ void Session::init() } // Set up default prelude code for target languages that need a prelude - m_languagePreludes[Index(SourceLanguage::CUDA)] = slang_cuda_prelude; - m_languagePreludes[Index(SourceLanguage::HLSL)] = slang_hlsl_prelude; + m_languagePreludes[Index(SourceLanguage::CUDA)] = get_slang_cuda_prelude(); + m_languagePreludes[Index(SourceLanguage::CPP)] = get_slang_cpp_prelude(); + m_languagePreludes[Index(SourceLanguage::HLSL)] = get_slang_hlsl_prelude(); } ISlangUnknown* Session::getInterface(const Guid& guid) diff --git a/source/slang/slang.vcxproj b/source/slang/slang.vcxproj index a5d51e36b..d98a29118 100644 --- a/source/slang/slang.vcxproj +++ b/source/slang/slang.vcxproj @@ -298,6 +298,7 @@ <ClInclude Include="slang-visitor.h" /> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\prelude\slang-cpp-prelude.h.cpp" /> <ClCompile Include="..\..\prelude\slang-cuda-prelude.h.cpp" /> <ClCompile Include="..\..\prelude\slang-hlsl-prelude.h.cpp" /> <ClCompile Include="slang-ast-builder.cpp" /> diff --git a/source/slang/slang.vcxproj.filters b/source/slang/slang.vcxproj.filters index fec82a8f5..b9f9d69c0 100644 --- a/source/slang/slang.vcxproj.filters +++ b/source/slang/slang.vcxproj.filters @@ -341,6 +341,9 @@ </ClInclude> </ItemGroup> <ItemGroup> + <ClCompile Include="..\..\prelude\slang-cpp-prelude.h.cpp"> + <Filter>Header Files</Filter> + </ClCompile> <ClCompile Include="..\..\prelude\slang-cuda-prelude.h.cpp"> <Filter>Header Files</Filter> </ClCompile> |
