ufo_data/ufojson.vcxproj
kornman00 9ffdf1ac1d Changes I've been sitting on since December
Change the language standard from MSVC's default stdcpp14 to stdcpp17. Haven't evaluated what issues may or may not be present when going to stdcpp20.
Enable string pooling and multiprocessor compilation.
Use C++11 `[[fallthrough]]` and `[[maybe_unused]]` attributes.
Use std::size for getting lengths of C arrays at compile time.
Resave converters.cpp and ufojson_core.cpp as UTF8 with BOM.
Address various signed/unsigned warnings.
Add nipcap_date_is_year_valid helper to deal with year values coming in as `int` but the constants being `uint32_t` (signed/unsigned mismatches).

Fix constructor member initialization order issue in pjson.h.
Explicitly handle some cJSONValueType's which have no conversions to silence unhandled enums warnings.

Fix missing comma in g_cap_exceptions list.
2024-01-20 14:34:26 -08:00

118 lines
5.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugClangCL|x64">
<Configuration>DebugClangCL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseClangCL|x64">
<Configuration>ReleaseClangCL</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{e4a0dd72-979a-469b-9b0a-4abe0b7c93d7}</ProjectGuid>
<RootNamespace>ufojson</RootNamespace>
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v142</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='17.0'">v143</PlatformToolset>
<PlatformToolset Condition=" $(Configuration.EndsWith('ClangCL')) ">ClangCL</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<UseDebugLibraries Condition=" $(Configuration.StartsWith('Debug')) ">true</UseDebugLibraries>
<WholeProgramOptimization Condition=" $(Configuration.StartsWith('Release')) ">true</WholeProgramOptimization>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup 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>
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
<LocalDebuggerWorkingDirectory>bin</LocalDebuggerWorkingDirectory>
<LocalDebuggerCommandArguments>-convert</LocalDebuggerCommandArguments>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<LanguageStandard>stdcpp17</LanguageStandard>
<ConformanceMode>true</ConformanceMode>
<DiagnosticsFormat>Caret</DiagnosticsFormat>
<WarningLevel>Level4</WarningLevel>
<!-- <TreatWarningAsError>true</TreatWarningAsError> -->
<SDLCheck>true</SDLCheck>
<PreprocessorDefinitions>_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition=" $(Configuration.StartsWith('Debug')) ">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition=" $(Configuration.StartsWith('Release')) ">
<ClCompile>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="converters.cpp" />
<ClCompile Include="libsoldout\array.c" />
<ClCompile Include="libsoldout\buffer.c" />
<ClCompile Include="libsoldout\markdown.c" />
<ClCompile Include="libsoldout\renderers.c" />
<ClCompile Include="markdown_proc.cpp" />
<ClCompile Include="stem.c" />
<ClCompile Include="udb.cpp" />
<ClInclude Include="converters.h" />
<ClInclude Include="pjson.h" />
<ClInclude Include="stem.h" />
<ClInclude Include="udb_tables.h" />
<ClCompile Include="ufojson.cpp" />
<ClCompile Include="ufojson_core.cpp" />
<ClCompile Include="utils.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="libsoldout\array.h" />
<ClInclude Include="libsoldout\buffer.h" />
<ClInclude Include="libsoldout\markdown.h" />
<ClInclude Include="libsoldout\renderers.h" />
<ClInclude Include="markdown_proc.h" />
<ClInclude Include="resource.h" />
<ClInclude Include="udb.h" />
<ClInclude Include="ufojson_core.h" />
<ClInclude Include="utf8.h" />
<ClInclude Include="utils.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>