mirror of
https://github.com/brazilofmux/tinymux
synced 2026-08-13 00:23:11 -04:00
Every BOM in the tree, and an .editorconfig so Visual Studio does not put them back. All eleven carry no information: none of the files contains a single non-ASCII byte, so the BOM was the only non-ASCII content in each. Visual Studio wrote them when it generated or last touched those project files. Ten are .vcxproj.filters; two are the sqlproxy and sqlslave .vcxproj, which is why the /utf-8 commit had to restore them mid-change. The concern that makes this worth more than tidying: Visual Studio adds a signature when it needs to represent a non-ASCII character in a file that had none. These files are pure ASCII, so removing the BOM should stick -- VS preserves the encoding it finds. But #1499 step 2 converts source prose from \xE2\x80\x99 escapes to characters, which is precisely the condition that starts making VS write signatures, and on .cpp rather than on project files. .editorconfig is the lever for that. charset = utf-8 means UTF-8 WITHOUT a BOM (utf-8-bom is the spelling for with), and Visual Studio honours it, as do VS Code, CLion and Sublime. It is deliberately the only key set: indentation, line endings and trailing whitespace are left to existing practice and CLAUDE.md, so the file cannot reformat anything by surprise. Git cannot do this job, which is worth recording because it is the obvious place to look. core.autocrlf is line endings only, and .gitattributes' working-tree-encoding converts encodings rather than stripping a signature -- pointing it at UTF-16 would ADD one. Stripping a BOM through git needs a custom clean filter that every clone has to configure locally; an .editorconfig needs no setup and acts where the BOM is actually introduced. A BOM is harmless to MSVC and tolerated by gcc and clang, so this is not a correctness fix for compiled sources. It matters for files that are executed rather than compiled -- a shell script or a .mux corpus file with a BOM simply does not work -- and for keeping diffs free of churn that depends on who last opened a file in an IDE. Verified: full rebuild of all eleven projects clean, including the two whose .vcxproj lost its BOM; smoke 316 dispatched, 1487 succeeded, 17 failed (the known build-configuration failures here); format, netaddr and alarm harnesses pass; zero BOMs left in any tracked file. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
135 lines
No EOL
6.4 KiB
XML
135 lines
No EOL
6.4 KiB
XML
<?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|x64">
|
|
<Configuration>Debug</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
<ProjectConfiguration Include="Release|x64">
|
|
<Configuration>Release</Configuration>
|
|
<Platform>x64</Platform>
|
|
</ProjectConfiguration>
|
|
</ItemGroup>
|
|
<PropertyGroup Label="Globals">
|
|
<ProjectGuid>{5689B87D-E634-4061-8090-BC93974ABB2E}</ProjectGuid>
|
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
<PlatformToolset>v145</PlatformToolset>
|
|
<UseOfMfc>false</UseOfMfc>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
|
<PlatformToolset>v145</PlatformToolset>
|
|
<UseOfMfc>false</UseOfMfc>
|
|
</PropertyGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
|
<ImportGroup Label="ExtensionSettings">
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
|
</ImportGroup>
|
|
<PropertyGroup Label="UserMacros" />
|
|
<PropertyGroup>
|
|
<_ProjectFileVersion>12.0.30501.0</_ProjectFileVersion>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<OutDir>..\..\bin_release\</OutDir>
|
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
|
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
|
|
</PropertyGroup>
|
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<OutDir>..\..\bin_debug\</OutDir>
|
|
<IntDir>$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
|
|
<IncludePath>C:\tinymux\mux\include;$(IncludePath)</IncludePath>
|
|
</PropertyGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
|
<Midl>
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
<TargetEnvironment>X64</TargetEnvironment>
|
|
<TypeLibraryName>.\bin_release/sqlproxy.tlb</TypeLibraryName>
|
|
<HeaderFileName />
|
|
</Midl>
|
|
<ClCompile>
|
|
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
|
<Optimization>Full</Optimization>
|
|
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
|
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
|
<PreprocessorDefinitions>WIN32;NDEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
|
<PrecompiledHeader />
|
|
<CallingConvention>FastCall</CallingConvention>
|
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
|
</ClCompile>
|
|
<ResourceCompile>
|
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<Culture>0x0409</Culture>
|
|
</ResourceCompile>
|
|
<Link>
|
|
<ModuleDefinitionFile />
|
|
<SubSystem>Windows</SubSystem>
|
|
<RandomizedBaseAddress>true</RandomizedBaseAddress>
|
|
<DataExecutionPrevention />
|
|
<TargetMachine>MachineX64</TargetMachine>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
|
<Midl>
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<MkTypLibCompatible>true</MkTypLibCompatible>
|
|
<SuppressStartupBanner>true</SuppressStartupBanner>
|
|
<TargetEnvironment>X64</TargetEnvironment>
|
|
<TypeLibraryName>.\bin_debug/sqlproxy.tlb</TypeLibraryName>
|
|
<HeaderFileName />
|
|
</Midl>
|
|
<ClCompile>
|
|
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
|
<PreprocessorDefinitions>WIN32;_DEBUG;UNICODE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
|
<PrecompiledHeader />
|
|
<LanguageStandard>stdcpp17</LanguageStandard>
|
|
</ClCompile>
|
|
<ResourceCompile>
|
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
|
<Culture>0x0409</Culture>
|
|
</ResourceCompile>
|
|
<Link>
|
|
<ModuleDefinitionFile />
|
|
<SubSystem>Windows</SubSystem>
|
|
<DataExecutionPrevention />
|
|
<TargetMachine>MachineX64</TargetMachine>
|
|
</Link>
|
|
</ItemDefinitionGroup>
|
|
<ItemGroup>
|
|
<ClCompile Include="sqlproxy.cpp">
|
|
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
|
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">WIN32;_DEBUG;UNICODE</PreprocessorDefinitions>
|
|
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
|
|
<Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Full</Optimization>
|
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">WIN32;NDEBUG;UNICODE</PreprocessorDefinitions>
|
|
</ClCompile>
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ClInclude Include="..\..\include\config.h" />
|
|
<ClInclude Include="..\..\include\libmux.h" />
|
|
<ClInclude Include="..\..\include\modules.h" />
|
|
<ClInclude Include="..\..\include\sql.h" />
|
|
</ItemGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\libmux.vcxproj">
|
|
<Project>{fea073c1-4f18-42a1-ac39-1a2ec0a65e92}</Project>
|
|
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
|
|
</ProjectReference>
|
|
</ItemGroup>
|
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
|
<ImportGroup Label="ExtensionTargets">
|
|
</ImportGroup>
|
|
</Project> |