diff options
author | chai <chaifix@163.com> | 2019-08-07 21:08:47 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-08-07 21:08:47 +0800 |
commit | 0c391fdbce5a079cf03e483eb6174dd47806163d (patch) | |
tree | b06cd7a9d0ae0d9bb9e82f3dcb786dfce11f8628 /Build/tools | |
parent | 9686368e58e25cbd6dc37d686bdd2be3f80486d6 (diff) |
*misc
Diffstat (limited to 'Build/tools')
25 files changed, 547 insertions, 0 deletions
diff --git a/Build/tools/bindingGen/App.config b/Build/tools/bindingGen/App.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/Build/tools/bindingGen/App.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> + </startup> +</configuration>
\ No newline at end of file diff --git a/Build/tools/bindingGen/Properties/AssemblyInfo.cs b/Build/tools/bindingGen/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..1244da3 --- /dev/null +++ b/Build/tools/bindingGen/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// 有关程序集的一般信息由以下 +// 控制。更改这些特性值可修改 +// 与程序集关联的信息。 +[assembly: AssemblyTitle("bindingGen")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("bindingGen")] +[assembly: AssemblyCopyright("Copyright © 2019")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// 将 ComVisible 设置为 false 会使此程序集中的类型 +//对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型 +//请将此类型的 ComVisible 特性设置为 true。 +[assembly: ComVisible(false)] + +// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID +[assembly: Guid("95cac424-d558-43d0-88b0-c67af1c4ee90")] + +// 程序集的版本信息由下列四个值组成: +// +// 主版本 +// 次版本 +// 生成号 +// 修订号 +// +// 可以指定所有值,也可以使用以下所示的 "*" 预置版本号和修订号 +// 方法是按如下所示使用“*”: : +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Build/tools/bindingGen/bin/Debug/bindingGen.exe b/Build/tools/bindingGen/bin/Debug/bindingGen.exe Binary files differnew file mode 100644 index 0000000..ad0ab9e --- /dev/null +++ b/Build/tools/bindingGen/bin/Debug/bindingGen.exe diff --git a/Build/tools/bindingGen/bin/Debug/bindingGen.exe.config b/Build/tools/bindingGen/bin/Debug/bindingGen.exe.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/Build/tools/bindingGen/bin/Debug/bindingGen.exe.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> + </startup> +</configuration>
\ No newline at end of file diff --git a/Build/tools/bindingGen/bin/Release/bindingGen.exe b/Build/tools/bindingGen/bin/Release/bindingGen.exe Binary files differnew file mode 100644 index 0000000..c61ceae --- /dev/null +++ b/Build/tools/bindingGen/bin/Release/bindingGen.exe diff --git a/Build/tools/bindingGen/bin/Release/bindingGen.exe.config b/Build/tools/bindingGen/bin/Release/bindingGen.exe.config new file mode 100644 index 0000000..731f6de --- /dev/null +++ b/Build/tools/bindingGen/bin/Release/bindingGen.exe.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8" ?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> + </startup> +</configuration>
\ No newline at end of file diff --git a/Build/tools/bindingGen/bindingGen.csproj b/Build/tools/bindingGen/bindingGen.csproj new file mode 100644 index 0000000..c787d56 --- /dev/null +++ b/Build/tools/bindingGen/bindingGen.csproj @@ -0,0 +1,53 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ProjectGuid>{95CAC424-D558-43D0-88B0-C67AF1C4EE90}</ProjectGuid> + <OutputType>Exe</OutputType> + <RootNamespace>bindingGen</RootNamespace> + <AssemblyName>bindingGen</AssemblyName> + <TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion> + <FileAlignment>512</FileAlignment> + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <Optimize>false</Optimize> + <OutputPath>..\..\..\bin\win64\</OutputPath> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <Optimize>true</Optimize> + <OutputPath>..\..\..\bin\win64\</OutputPath> + <DefineConstants>TRACE</DefineConstants> + <ErrorReport>prompt</ErrorReport> + <WarningLevel>4</WarningLevel> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + <Reference Include="Microsoft.CSharp" /> + <Reference Include="System.Data" /> + <Reference Include="System.Net.Http" /> + <Reference Include="System.Xml" /> + </ItemGroup> + <ItemGroup> + <Compile Include="main.cs" /> + <Compile Include="Properties\AssemblyInfo.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="App.config" /> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> +</Project>
\ No newline at end of file diff --git a/Build/tools/bindingGen/bindingGen.csproj.user b/Build/tools/bindingGen/bindingGen.csproj.user new file mode 100644 index 0000000..150d1c7 --- /dev/null +++ b/Build/tools/bindingGen/bindingGen.csproj.user @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'"> + <StartArguments> + </StartArguments> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'"> + <StartArguments> + </StartArguments> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/Build/tools/bindingGen/main.cs b/Build/tools/bindingGen/main.cs new file mode 100644 index 0000000..f58b846 --- /dev/null +++ b/Build/tools/bindingGen/main.cs @@ -0,0 +1,282 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Text.RegularExpressions; +using System.IO; + +namespace bindingGen +{ + /// <summary> + /// 输入目录,在目录下生成./binding目录,存放导出的binding代码 + /// </summary> + class Program + { + // {0} 文件名 + // {1} 第一个名称空间 + // {2} 第二个名称空间 + // {3} 内容 + static string output = @"#include ""../{0}.h"" + +using namespace std; +using namespace Luax; + +namespace {1} +{{ + namespace {2} + {{ + {3} + }} +}} +"; + + // {0} 类名 + // {1} 内容 + static string registry = @" + LUAX_REGISTRY({0}) + {{ +{1} + }} +"; + + // {0} 类名 + // {1} 内容 + static string postprocess = @" + LUAX_POSTPROCESS({0}) + {{ +{1} + }} +"; + + // {0} 类名 + // {1} 去掉_的函数名 + // {2} 小写的类名 + static string method = @" + // {2}:{1}() + LUAX_IMPL_METHOD({0}, _{1}) + {{ + LUAX_PREPARE(L, {0}); + + return 0; + }} +"; + // {0} 类名 + // {1} 去掉_的函数名 + static string method_new = @" + // {0}.{1}() + LUAX_IMPL_METHOD({0}, _{1}) + {{ + LUAX_STATE(L); + + return 0; + }} +"; + + static string make_register_methods(MatchCollection methods) + { + if (methods.Count == 0) + return ""; + string register_methods = ""; + register_methods += "\t\t\tLUAX_REGISTER_METHODS(state,\n"; + int maxlen = 0; + foreach (var m in methods) + { + string method = m.ToString(); + if (method.Count() > maxlen) + maxlen = method.Count(); + } + for (int i = 0; i < methods.Count; ++i) + { + Match m = methods[i]; + string method = m.ToString(); + register_methods += "\t\t\t\t"; + register_methods += "{ "; + register_methods += ('"' + method.Substring(1, method.Count() - 1) + "\",").PadRight(maxlen + 3, ' '); + register_methods += method.PadRight(maxlen + 1, ' '); + register_methods += "}"; + if (i != methods.Count - 1) + register_methods += ','; + register_methods += '\n'; + } + register_methods += "\t\t\t);"; + return register_methods; + } + + static string make_impl_methods(MatchCollection mc, string cname) + { + if (mc.Count == 0) + return ""; + + string methods = ""; + + foreach (var m in mc) + { + string name = m.ToString(); + if (name != "_New") + { + methods += String.Format(method, cname, name.Substring(1, name.Count() - 1), cname.ToLower()); + } + else + { + methods += String.Format(method_new, cname, name.Substring(1, name.Count() - 1)); + } + } + + return methods; + } + + static int IndexOfChar(string str, char c, int n) + { + int j = 0; + for (int i = 0; i < str.Count(); ++i) + { + char ch = str[i]; + if (ch == c) + { + if (j == n) + return i; + ++j; + } + } + return -1; + } + + static string make_register_enum(MatchCollection mc, string src) + { + if (mc.Count == 0) + return ""; + + string reg_enum_l = @"(?<=enum\s*"; + string reg_enum_r = @"[\s\n]*\{((?!\})[\s\S])*\s)[A-Z_0-9]+(?=[\s\=,]+)"; + string enums = ""; + + // 尝试查找下划线索引号,如果没有,代表这个枚举字符串全部都是key + string reg_under_line_l = @"(?<=LUAX_DECL_ENUM\s*\(\s*"; + string reg_under_line_r = @"\s*,\s*)[0-9]+(?=\s*\))"; + + foreach (var m in mc) + { + string name = m.ToString(); + enums += "\t\t\tLUAX_REGISTER_ENUM(state, "; + enums += "\"E" + name + "\",\n"; + MatchCollection values = Regex.Matches(src, reg_enum_l + name + reg_enum_r); + string[] enames = new string[values.Count]; + string[] keys = new string[values.Count]; + int underline_index = -1; + Match underline = Regex.Match(src, reg_under_line_l + name + reg_under_line_r); + if (underline.Success) + { + underline_index = int.Parse(underline.ToString()); + } + int maxEname = 0, maxKey = 0; + for (int i = 0; i < values.Count; ++i) + { + enames[i] = values[i].ToString(); + if(underline_index != -1) + { + int start = IndexOfChar(enames[i], '_', underline_index) + 1; + keys[i] = enames[i].Substring(start, enames[i].Count() - start); + } + else + { + // 表明全部都是key + keys[i] = enames[i]; + } + if (enames[i].Count() > maxEname) maxEname = enames[i].Count(); + if (keys[i].Count() > maxKey) maxKey = keys[i].Count(); + } + for (int i = 0; i < values.Count; ++i) + { + enums += "\t\t\t\t{ "; + enums += ('"' + keys[i] + "\",").PadRight(maxKey + 4); + enums += enames[i].PadRight(maxEname + 1); + enums += "}"; + if (i != values.Count - 1) + enums += ","; + enums += "\n"; + } + enums += "\t\t\t);\n"; + } + return enums; + } + + /// <summary> + /// 用法: + /// bindingGen <目录> + /// </summary> + /// <param name="args"></param> + static void Main(string[] args) + { + if (args.Length < 1) + return; + + string dir = args[0]; + + Console.WriteLine("源目录: " + dir); + + if (!Directory.Exists(dir)) + return; + + string reg_class = @"(?<=Portable\<)[0-9a-zA-Z]+(?=\>)"; + string reg_abclass = @"(?<=LUAX_DECL_ABSTRACT_FACTORY\s*\(\s*)[0-9a-zA-Z]+(?=\s*\))"; + string reg_methods = @"(?<=LUAX_DECL_METHOD\()[0-9a-zA-Z_]+(?=\))"; + string reg_enums = @"(?<=LUAX_DECL_ENUM\()[0-9a-zA-Z_]+(?=\s*[\),]+)"; + string reg_namespace = @"(?<=namespace\s)[0-9a-zA-Z]+(?=[\s\n]*\{)"; + + if (!Directory.Exists(dir + "/binding")) + { + Directory.CreateDirectory(dir + "/binding"); + } + + string[] files = Directory.GetFiles(dir); + for (int i = 0; i < files.Count(); ++i) + { + string file = files[i]; + if (!File.Exists(file)) + continue; + file = file.Replace('\\', '/'); + string name = file.Substring(file.LastIndexOf('/') + 1, file.LastIndexOf('.') - file.LastIndexOf('/') - 1); + string bindingFile = dir + "/binding/_" + name + ".cpp"; + if (File.Exists(bindingFile)) + continue; + string code = File.ReadAllText(file); + // 工厂和单例 + Match m = Regex.Match(code, reg_class); + string className = ""; + if (m.Success) + { + className = m.ToString(); + } + if (!m.Success) + { + // 抽象类,不会继承Portable模板 + Match abstract_m = Regex.Match(code, reg_abclass); + if (!abstract_m.Success) + continue; + className = abstract_m.ToString(); + } + MatchCollection mc = Regex.Matches(code, reg_namespace); + // 应该两个名称空间 + if (mc.Count != 2) + { + Console.WriteLine("Error: 源文件没有两个名称空间 " + file); + continue; + } + string namespace1 = mc[0].ToString(); + string namespace2 = mc[1].ToString(); + // 名称空间内的内容 + string content = ""; + mc = Regex.Matches(code, reg_methods); + content += String.Format(registry, className, make_register_methods(mc)); + mc = Regex.Matches(code, reg_enums); + content += String.Format(postprocess, className, make_register_enum(mc, code)); + mc = Regex.Matches(code, reg_methods); + content += make_impl_methods(mc, className); + string binding = String.Format(output, name, namespace1, namespace2, content); + Console.WriteLine("输出: " + bindingFile); + File.WriteAllText(bindingFile, binding); + } + } + } +} diff --git a/Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache Binary files differnew file mode 100644 index 0000000..78a75d8 --- /dev/null +++ b/Build/tools/bindingGen/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache diff --git a/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs diff --git a/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs diff --git a/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Build/tools/bindingGen/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt b/Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..c868e47 --- /dev/null +++ b/Build/tools/bindingGen/obj/Debug/bindingGen.csproj.FileListAbsolute.txt @@ -0,0 +1,10 @@ +D:\Asura\build\tools\bindingGen\bin\Debug\bindingGen.exe.config +D:\Asura\build\tools\bindingGen\bin\Debug\bindingGen.exe +D:\Asura\build\tools\bindingGen\bin\Debug\bindingGen.pdb +D:\Documents\VisualStudio2017\Projects\Asura\bin\win64\bindingGen.exe.config +D:\Documents\VisualStudio2017\Projects\Asura\bin\win64\bindingGen.exe +D:\Documents\VisualStudio2017\Projects\Asura\bin\win64\bindingGen.pdb +D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.csprojAssemblyReference.cache +D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.csproj.CoreCompileInputs.cache +D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.exe +D:\Documents\VisualStudio2017\Projects\Asura\Build\tools\bindingGen\obj\Debug\bindingGen.pdb diff --git a/Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache Binary files differnew file mode 100644 index 0000000..06f4073 --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache diff --git a/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs diff --git a/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs diff --git a/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..93b7e43 --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +76869cb9eeaafde93fc35e764d87dc7f1f272b2f diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..eb453d0 --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/bindingGen.csproj.FileListAbsolute.txt @@ -0,0 +1,3 @@ +D:\Asura\build\tools\bindingGen\bin\Release\bindingGen.exe.config +D:\Asura\build\tools\bindingGen\bin\Release\bindingGen.exe +D:\Asura\build\tools\bindingGen\bin\Release\bindingGen.pdb diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cache b/Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cache Binary files differnew file mode 100644 index 0000000..d31b6fe --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/bindingGen.csprojAssemblyReference.cache diff --git a/Build/tools/bindingGen/obj/Release/bindingGen.exe b/Build/tools/bindingGen/obj/Release/bindingGen.exe Binary files differnew file mode 100644 index 0000000..c61ceae --- /dev/null +++ b/Build/tools/bindingGen/obj/Release/bindingGen.exe diff --git a/Build/tools/cembed/cembed.vcxproj b/Build/tools/cembed/cembed.vcxproj new file mode 100644 index 0000000..5ee4263 --- /dev/null +++ b/Build/tools/cembed/cembed.vcxproj @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <VCProjectVersion>15.0</VCProjectVersion> + <ProjectGuid>{68FB36CB-C478-4158-A0BC-905B65340AE9}</ProjectGuid> + <RootNamespace>cembed</RootNamespace> + <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v141</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="Shared"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup /> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>Disabled</Optimization> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\source\tools\cembed\main.cpp" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/Build/tools/cembed/cembed.vcxproj.filters b/Build/tools/cembed/cembed.vcxproj.filters new file mode 100644 index 0000000..10ff2a3 --- /dev/null +++ b/Build/tools/cembed/cembed.vcxproj.filters @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <ClCompile Include="..\..\..\source\tools\cembed\main.cpp" /> + </ItemGroup> +</Project>
\ No newline at end of file diff --git a/Build/tools/cembed/cembed.vcxproj.user b/Build/tools/cembed/cembed.vcxproj.user new file mode 100644 index 0000000..be25078 --- /dev/null +++ b/Build/tools/cembed/cembed.vcxproj.user @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup /> +</Project>
\ No newline at end of file |