diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-04-01 00:13:11 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2020-04-01 18:31:04 +0200 |
commit | a2495bd1ac9e5e54074d65616de0efa822a6309e (patch) | |
tree | e8a186b06bb4a94faafd7826b1ddc7c65112e824 | |
parent | b3f2636f44eea1a8b6fbf892d2daa611cff9d4af (diff) |
Add preliminary VisualStudio support
- Mostly workarounds/clutches in compat.h
- Change getline return type to int
- Replace C99 style flexible array with alloca
- Add all the MSVC solution/project crap
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | include/compat.h | 23 | ||||
-rw-r--r-- | include/win32/config.h | 12 | ||||
-rw-r--r-- | lib/compat/getline.c | 2 | ||||
-rw-r--r-- | lib/sqfs/Makemodule.am | 2 | ||||
-rw-r--r-- | lib/sqfs/comp/compressor.c | 4 | ||||
-rw-r--r-- | lib/sqfs/libsqfs.vcxproj | 230 | ||||
-rw-r--r-- | lib/sqfs/write_inode.c | 9 | ||||
-rw-r--r-- | squashfs-tools-ng.sln | 31 | ||||
-rw-r--r-- | squashfs-tools-ng.vcxproj | 145 |
10 files changed, 445 insertions, 14 deletions
diff --git a/Makefile.am b/Makefile.am index 7d4f9ba..f55cf18 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,6 +18,7 @@ check_SCRIPTS = pkgconfig_DATA = EXTRA_DIST = autogen.sh README.md CHANGELOG.md COPYING.md mkwinbins.sh licenses +EXTRA_DIST += squashfs-tools-ng.sln squashfs-tools-ng.vcxproj TESTS = include lib/sqfs/Makemodule.am diff --git a/include/compat.h b/include/compat.h index b2bb054..5d7a052 100644 --- a/include/compat.h +++ b/include/compat.h @@ -27,6 +27,10 @@ # define SZ_ADD_OV __builtin_add_overflow # define SZ_MUL_OV __builtin_mul_overflow # endif +#elif defined(_MSC_VER) +# include <intsafe.h> +# define SZ_ADD_OV SizeTAdd +# define SZ_MUL_OV SizeTMult #else # error I do not know how to trap integer overflows with this compiler #endif @@ -40,7 +44,13 @@ # define PRI_U32 "%" PRIu32 #endif -#if SIZEOF_SIZE_T <= SIZEOF_INT +#ifdef _MSC_VER +# ifdef _WIN64 +# define PRI_SZ PRI_U64 +# else +# define PRI_SZ PRI_U32 +# endif +#elif SIZEOF_SIZE_T <= SIZEOF_INT # define PRI_SZ "%u" #elif SIZEOF_SIZE_T == SIZEOF_LONG # define PRI_SZ "%lu" @@ -73,8 +83,17 @@ #define WIN32_LEAN_AND_MEAN #include <windows.h> + +#include <malloc.h> + +#ifdef _MSC_VER +# define alloca _alloca +#endif + +#define strdup _strdup #else #include <endian.h> +#include <alloca.h> #endif #if defined(_WIN32) || defined(__WINDOWS__) @@ -167,7 +186,7 @@ int chdir(const char *path); #ifndef HAVE_GETLINE #include <stdio.h> -ssize_t getline(char **line, size_t *n, FILE *fp); +int getline(char **line, size_t *n, FILE *fp); #endif #ifndef HAVE_STRNDUP diff --git a/include/win32/config.h b/include/win32/config.h new file mode 100644 index 0000000..00ec3bb --- /dev/null +++ b/include/win32/config.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: LGPL-3.0-or-later */ +/* + * config.h - manually created stub for MSVC + * + * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> + */ +#ifndef CONFIG_H +#define CONFIG_H + + + +#endif /* CONFIG_H */ diff --git a/lib/compat/getline.c b/lib/compat/getline.c index e63c50e..d7e456b 100644 --- a/lib/compat/getline.c +++ b/lib/compat/getline.c @@ -11,7 +11,7 @@ #include <stdlib.h> #ifndef HAVE_GETLINE -ssize_t getline(char **line, size_t *n, FILE *fp) +int getline(char **line, size_t *n, FILE *fp) { size_t new_cap, len = 0, cap = 0; char *buffer = NULL, *new; diff --git a/lib/sqfs/Makemodule.am b/lib/sqfs/Makemodule.am index 942c37c..6786ee2 100644 --- a/lib/sqfs/Makemodule.am +++ b/lib/sqfs/Makemodule.am @@ -113,3 +113,5 @@ lib_LTLIBRARIES += libsquashfs.la pkgconfig_DATA += lib/sqfs/libsquashfs0.pc EXTRA_DIST += lib/sqfs/comp/lz4/README lib/sqfs/comp/zlib/README +EXTRA_DIST += lib/sqfs/libsqfs.vcxproj +EXTRA_DIST += include/win32/config.h diff --git a/lib/sqfs/comp/compressor.c b/lib/sqfs/comp/compressor.c index 946ee25..2294b98 100644 --- a/lib/sqfs/comp/compressor.c +++ b/lib/sqfs/comp/compressor.c @@ -42,7 +42,7 @@ static const char *names[] = { int sqfs_generic_write_options(sqfs_file_t *file, const void *data, size_t size) { - sqfs_u8 buffer[size + 2]; + sqfs_u8 *buffer = alloca(size + 2); int ret; *((sqfs_u16 *)buffer) = htole16(0x8000 | size); @@ -58,7 +58,7 @@ int sqfs_generic_write_options(sqfs_file_t *file, const void *data, size_t size) int sqfs_generic_read_options(sqfs_file_t *file, void *data, size_t size) { - sqfs_u8 buffer[size + 2]; + sqfs_u8 *buffer = alloca(size + 2); int ret; ret = file->read_at(file, sizeof(sqfs_super_t), diff --git a/lib/sqfs/libsqfs.vcxproj b/lib/sqfs/libsqfs.vcxproj new file mode 100644 index 0000000..176ba20 --- /dev/null +++ b/lib/sqfs/libsqfs.vcxproj @@ -0,0 +1,230 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" 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>16.0</VCProjectVersion> + <ProjectGuid>{7F732A8E-22A5-4DC1-B8DB-7091D37BE502}</ProjectGuid> + <RootNamespace>libsqfs</RootNamespace> + <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion> + <ProjectName>squashfs</ProjectName> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LinkIncremental>true</LinkIncremental> + <OutDir>$(SolutionDir)$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <LinkIncremental>false</LinkIncremental> + <OutDir>$(SolutionDir)$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;WITH_GZIP;WITH_LZ4;NO_GZIP;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)\include;$(SolutionDir)\include\win32;$(SolutionDir)\lib\sqfs\comp\zlib;$(SolutionDir)\lib\sqfs\comp\lz4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <CompileAs>CompileAsC</CompileAs> + <ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;WITH_GZIP;WITH_LZ4;NO_GZIP;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + <AdditionalIncludeDirectories>$(SolutionDir)\include;$(SolutionDir)\include\win32;$(SolutionDir)\lib\sqfs\comp\zlib;$(SolutionDir)\lib\sqfs\comp\lz4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <CompileAs>CompileAsC</CompileAs> + <ObjectFileName>$(IntDir)%(RelativeDir)</ObjectFileName> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClInclude Include="..\..\include\sqfs\block.h" /> + <ClInclude Include="..\..\include\sqfs\block_processor.h" /> + <ClInclude Include="..\..\include\sqfs\block_writer.h" /> + <ClInclude Include="..\..\include\sqfs\compressor.h" /> + <ClInclude Include="..\..\include\sqfs\data_reader.h" /> + <ClInclude Include="..\..\include\sqfs\dir.h" /> + <ClInclude Include="..\..\include\sqfs\dir_reader.h" /> + <ClInclude Include="..\..\include\sqfs\dir_writer.h" /> + <ClInclude Include="..\..\include\sqfs\error.h" /> + <ClInclude Include="..\..\include\sqfs\frag_table.h" /> + <ClInclude Include="..\..\include\sqfs\id_table.h" /> + <ClInclude Include="..\..\include\sqfs\inode.h" /> + <ClInclude Include="..\..\include\sqfs\io.h" /> + <ClInclude Include="..\..\include\sqfs\meta_reader.h" /> + <ClInclude Include="..\..\include\sqfs\meta_writer.h" /> + <ClInclude Include="..\..\include\sqfs\predef.h" /> + <ClInclude Include="..\..\include\sqfs\super.h" /> + <ClInclude Include="..\..\include\sqfs\table.h" /> + <ClInclude Include="..\..\include\sqfs\xattr.h" /> + <ClInclude Include="..\..\include\sqfs\xattr_reader.h" /> + <ClInclude Include="..\..\include\sqfs\xattr_writer.h" /> + <ClInclude Include="..\..\include\win32\config.h" /> + <ClInclude Include="block_processor\internal.h" /> + <ClInclude Include="comp\internal.h" /> + <ClInclude Include="comp\lz4\lz4.h" /> + <ClInclude Include="comp\lz4\lz4hc.h" /> + <ClInclude Include="comp\zlib\deflate.h" /> + <ClInclude Include="comp\zlib\inffast.h" /> + <ClInclude Include="comp\zlib\inffixed.h" /> + <ClInclude Include="comp\zlib\inflate.h" /> + <ClInclude Include="comp\zlib\inftrees.h" /> + <ClInclude Include="comp\zlib\trees.h" /> + <ClInclude Include="comp\zlib\zconf.h" /> + <ClInclude Include="comp\zlib\zlib.h" /> + <ClInclude Include="comp\zlib\zutil.h" /> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\util\alloc.c" /> + <ClCompile Include="..\util\str_table.c" /> + <ClCompile Include="..\util\xxhash.c" /> + <ClCompile Include="block_processor\common.c" /> + <ClCompile Include="block_processor\winpthread.c" /> + <ClCompile Include="block_writer.c" /> + <ClCompile Include="comp\compressor.c" /> + <ClCompile Include="comp\gzip.c" /> + <ClCompile Include="comp\lz4.c" /> + <ClCompile Include="comp\lz4\lz4.c" /> + <ClCompile Include="comp\lz4\lz4hc.c" /> + <ClCompile Include="comp\zlib\adler32.c" /> + <ClCompile Include="comp\zlib\deflate.c" /> + <ClCompile Include="comp\zlib\inffast.c" /> + <ClCompile Include="comp\zlib\inflate.c" /> + <ClCompile Include="comp\zlib\inftrees.c" /> + <ClCompile Include="comp\zlib\trees.c" /> + <ClCompile Include="comp\zlib\zutil.c" /> + <ClCompile Include="data_reader.c" /> + <ClCompile Include="dir_reader.c" /> + <ClCompile Include="dir_writer.c" /> + <ClCompile Include="frag_table.c" /> + <ClCompile Include="id_table.c" /> + <ClCompile Include="inode.c" /> + <ClCompile Include="meta_reader.c" /> + <ClCompile Include="meta_writer.c" /> + <ClCompile Include="readdir.c" /> + <ClCompile Include="read_inode.c" /> + <ClCompile Include="read_super.c" /> + <ClCompile Include="read_table.c" /> + <ClCompile Include="read_tree.c" /> + <ClCompile Include="super.c" /> + <ClCompile Include="win32\io_file.c" /> + <ClCompile Include="write_inode.c" /> + <ClCompile Include="write_super.c" /> + <ClCompile Include="write_table.c" /> + <ClCompile Include="xattr.c" /> + <ClCompile Include="xattr_reader.c" /> + <ClCompile Include="xattr_writer.c" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file diff --git a/lib/sqfs/write_inode.c b/lib/sqfs/write_inode.c index 787c4b5..d27d1b4 100644 --- a/lib/sqfs/write_inode.c +++ b/lib/sqfs/write_inode.c @@ -15,15 +15,6 @@ #include <string.h> -#if defined(_WIN32) || defined(__WINDOWS__) -# include <malloc.h> -# ifdef _MSC_VER -# define alloca _alloca -# endif -#else -# include <alloca.h> -#endif - static int write_block_sizes(sqfs_meta_writer_t *ir, const sqfs_inode_generic_t *n) { diff --git a/squashfs-tools-ng.sln b/squashfs-tools-ng.sln new file mode 100644 index 0000000..418bcc5 --- /dev/null +++ b/squashfs-tools-ng.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29926.136 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libsqfs", "lib\sqfs\libsqfs.vcxproj", "{7F732A8E-22A5-4DC1-B8DB-7091D37BE502}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Debug|x64.ActiveCfg = Debug|x64 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Debug|x64.Build.0 = Debug|x64 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Debug|x86.ActiveCfg = Debug|Win32 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Debug|x86.Build.0 = Debug|Win32 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Release|x64.ActiveCfg = Release|x64 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Release|x64.Build.0 = Release|x64 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Release|x86.ActiveCfg = Release|Win32 + {7F732A8E-22A5-4DC1-B8DB-7091D37BE502}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {922C1643-B534-47CC-A7AD-81F7090BF34B} + EndGlobalSection +EndGlobal diff --git a/squashfs-tools-ng.vcxproj b/squashfs-tools-ng.vcxproj new file mode 100644 index 0000000..c4b8ee1 --- /dev/null +++ b/squashfs-tools-ng.vcxproj @@ -0,0 +1,145 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" 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>16.0</VCProjectVersion> + <ProjectGuid>{25DDF12C-B25D-4A92-9633-5315BFDC0D0C}</ProjectGuid> + <RootNamespace>squashfstoolsng</RootNamespace> + <WindowsTargetPlatformVersion>10.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>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>true</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <CharacterSet>Unicode</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <PlatformToolset>v142</PlatformToolset> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>Unicode</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 Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <LinkIncremental>true</LinkIncremental> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <LinkIncremental>false</LinkIncremental> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + <SDLCheck>true</SDLCheck> + <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <ConformanceMode>true</ConformanceMode> + </ClCompile> + <Link> + <SubSystem>Console</SubSystem> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + <GenerateDebugInformation>true</GenerateDebugInformation> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file |