public static void createfilters(SysConfig cfg) { var builder = new StringBuilder(); builder.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); builder.AppendLine("<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">"); builder.AppendLine(" <ItemGroup>"); FromMDK5.getGrouptoFilters(builder, cfg.MdkPath); builder.AppendLine(" </ItemGroup>"); builder.AppendLine(" <ItemGroup>"); FromMDK5.getGroupsToFilters(builder, cfg.MdkPath); builder.AppendLine(" </ItemGroup>"); builder.AppendLine("</Project>"); var fs = new FileStream(cfg.filters, FileMode.Create); byte[] data = new UTF8Encoding().GetBytes(builder.ToString()); fs.Write(data); fs.Flush(); fs.Close(); }
public static void createvcxproj(SysConfig cfg) { var builder = new StringBuilder(); builder.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>"); builder.AppendLine("<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">"); builder.AppendLine(" <ItemGroup Label=\"ProjectConfigurations\">"); builder.AppendLine(" <ProjectConfiguration Include=\"Debug | Win32\">"); builder.AppendLine(" <Configuration>Debug</Configuration>"); builder.AppendLine(" <Platform>Win32</Platform>"); builder.AppendLine(" </ProjectConfiguration>"); builder.AppendLine(" <ProjectConfiguration Include=\"Release | Win32\">"); builder.AppendLine(" <Configuration>Release</Configuration>"); builder.AppendLine(" <Platform>Win32</Platform>"); builder.AppendLine(" </ProjectConfiguration>"); builder.AppendLine(" <ProjectConfiguration Include=\"Debug | x64\">"); builder.AppendLine(" <Configuration>Debug</Configuration>"); builder.AppendLine(" <Platform>x64</Platform>"); builder.AppendLine(" </ProjectConfiguration>"); builder.AppendLine(" <ProjectConfiguration Include=\"Release | x64\">"); builder.AppendLine(" <Configuration>Release</Configuration>"); builder.AppendLine(" <Platform>x64</Platform>"); builder.AppendLine(" </ProjectConfiguration>"); builder.AppendLine(" </ItemGroup>"); builder.AppendLine(" <PropertyGroup Label=\"Globals\">"); builder.AppendLine(" <VCProjectVersion>15.0</VCProjectVersion>"); builder.Append(" <ProjectGuid>").Append(cfg.projguidvc).AppendLine("</ProjectGuid>"); builder.AppendLine(" <RootNamespace>STM32F1</RootNamespace>"); builder.AppendLine(" <WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>"); builder.AppendLine(" </PropertyGroup>"); builder.AppendLine(" <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />"); builder.AppendLine(" <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|Win32'\" Label=\"Configuration\">"); builder.AppendLine(" <ConfigurationType>Application</ConfigurationType>"); builder.AppendLine(" <UseDebugLibraries>true</UseDebugLibraries>"); builder.AppendLine(" <PlatformToolset>v141</PlatformToolset>"); builder.AppendLine(" <CharacterSet>MultiByte</CharacterSet>"); builder.AppendLine(" </PropertyGroup>"); builder.AppendLine(" <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|Win32'\" Label=\"Configuration\">"); builder.AppendLine(" <ConfigurationType>Application</ConfigurationType>"); builder.AppendLine(" <UseDebugLibraries>false</UseDebugLibraries>"); builder.AppendLine(" <PlatformToolset>v141</PlatformToolset>"); builder.AppendLine(" <WholeProgramOptimization>true</WholeProgramOptimization>"); builder.AppendLine(" <CharacterSet>MultiByte</CharacterSet>"); builder.AppendLine(" </PropertyGroup>"); builder.AppendLine(" <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x64'\" Label=\"Configuration\">"); builder.AppendLine(" <ConfigurationType>Application</ConfigurationType>"); builder.AppendLine(" <UseDebugLibraries>true</UseDebugLibraries>"); builder.AppendLine(" <PlatformToolset>v141</PlatformToolset>"); builder.AppendLine(" <CharacterSet>MultiByte</CharacterSet>"); builder.AppendLine(" </PropertyGroup>"); builder.AppendLine(" <PropertyGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|x64'\" Label=\"Configuration\">"); builder.AppendLine(" <ConfigurationType>Application</ConfigurationType>"); builder.AppendLine(" <UseDebugLibraries>false</UseDebugLibraries>"); builder.AppendLine(" <PlatformToolset>v141</PlatformToolset>"); builder.AppendLine(" <WholeProgramOptimization>true</WholeProgramOptimization>"); builder.AppendLine(" <CharacterSet>MultiByte</CharacterSet>"); builder.AppendLine(" </PropertyGroup>"); builder.AppendLine(" <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />"); builder.AppendLine(" <ImportGroup Label=\"ExtensionSettings\">"); builder.AppendLine(" </ImportGroup>"); builder.AppendLine(" <ImportGroup Label=\"Shared\">"); builder.AppendLine(" </ImportGroup>"); builder.AppendLine(" <ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)' == 'Debug|Win32'\">"); builder.AppendLine(" <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />"); builder.AppendLine(" </ImportGroup>"); builder.AppendLine(" <ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)' == 'Release|Win32'\">"); builder.AppendLine(" <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />"); builder.AppendLine(" </ImportGroup>"); builder.AppendLine(" <ImportGroup Label=\"PropertySheets\\\" Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x64'\">"); builder.AppendLine(" <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />"); builder.AppendLine(" </ImportGroup>"); builder.AppendLine(" <ImportGroup Label=\"PropertySheets\" Condition=\"'$(Configuration)|$(Platform)' == 'Release|x64'\">"); builder.AppendLine(" <Import Project=\"$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props\" Condition=\"exists('$(UserRootDir)\\Microsoft.Cpp.$(Platform).user.props')\" Label=\"LocalAppDataPlatform\" />"); builder.AppendLine(" </ImportGroup>"); builder.AppendLine(" <PropertyGroup Label=\"UserMacros\" />"); builder.AppendLine(" <PropertyGroup />"); builder.AppendLine(" <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|Win32'\">"); builder.AppendLine(" <ClCompile>"); builder.AppendLine(" <WarningLevel>Level3</WarningLevel>"); builder.AppendLine(" <Optimization>Disabled</Optimization>"); builder.AppendLine(" <SDLCheck>true</SDLCheck>"); builder.AppendLine(" <ConformanceMode>true</ConformanceMode>"); builder.AppendLine(cfg.IncludePathVC); builder.AppendLine(cfg.MacroDefineVC); builder.AppendLine(" </ClCompile>"); builder.AppendLine(" </ItemDefinitionGroup>"); builder.AppendLine(" <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)' == 'Debug|x64'\">"); builder.AppendLine(" <ClCompile>"); builder.AppendLine(" <WarningLevel>Level3</WarningLevel>"); builder.AppendLine(" <Optimization>Disabled</Optimization>"); builder.AppendLine(" <SDLCheck>true</SDLCheck>"); builder.AppendLine(" <ConformanceMode>true</ConformanceMode>"); builder.AppendLine(cfg.IncludePathVC); builder.AppendLine(cfg.MacroDefineVC); builder.AppendLine(" </ClCompile>"); builder.AppendLine(" </ItemDefinitionGroup>"); builder.AppendLine(" <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|Win32'\">"); builder.AppendLine(" <ClCompile>"); builder.AppendLine(" <WarningLevel>Level3</WarningLevel>"); builder.AppendLine(" <Optimization>MaxSpeed</Optimization>"); builder.AppendLine(" <FunctionLevelLinking>true</FunctionLevelLinking>"); builder.AppendLine(" <IntrinsicFunctions>true</IntrinsicFunctions>"); builder.AppendLine(" <SDLCheck>true</SDLCheck>"); builder.AppendLine(" <ConformanceMode>true</ConformanceMode>"); builder.AppendLine(cfg.IncludePathVC); builder.AppendLine(cfg.MacroDefineVC); builder.AppendLine(" </ClCompile>"); builder.AppendLine(" <Link>"); builder.AppendLine(" <EnableCOMDATFolding>true</EnableCOMDATFolding>"); builder.AppendLine(" <OptimizeReferences>true</OptimizeReferences>"); builder.AppendLine(" </Link>"); builder.AppendLine(" </ItemDefinitionGroup>"); builder.AppendLine(" <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)' == 'Release|x64'\">"); builder.AppendLine(" <ClCompile>"); builder.AppendLine(" <WarningLevel>Level3</WarningLevel>"); builder.AppendLine(" <Optimization>MaxSpeed</Optimization>"); builder.AppendLine(" <FunctionLevelLinking>true</FunctionLevelLinking>"); builder.AppendLine(" <IntrinsicFunctions>true</IntrinsicFunctions>"); builder.AppendLine(" <SDLCheck>true</SDLCheck>"); builder.AppendLine(" <ConformanceMode>true</ConformanceMode>"); builder.AppendLine(cfg.IncludePathVC); builder.AppendLine(cfg.MacroDefineVC); builder.AppendLine(" </ClCompile>"); builder.AppendLine(@" <Link>"); builder.AppendLine(@" <EnableCOMDATFolding>true</EnableCOMDATFolding>"); builder.AppendLine(@" <OptimizeReferences>true</OptimizeReferences>"); builder.AppendLine(@" </Link>"); builder.AppendLine(@" </ItemDefinitionGroup>"); builder.AppendLine(@" <ItemGroup>"); FromMDK5.getGroupsToProj(builder, cfg.MdkPath); builder.AppendLine(@" </ItemGroup>"); builder.AppendLine(" <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />"); builder.AppendLine(" <ImportGroup Label=\"ExtensionTargets\">"); builder.AppendLine(@" </ImportGroup>"); builder.AppendLine(@"</Project>"); var fs = new FileStream(cfg.vcxproj, FileMode.Create); byte[] data = new UTF8Encoding().GetBytes(builder.ToString()); fs.Write(data); fs.Flush(); fs.Close(); }