diff options
author | Michael Vrhel <michael.vrhel@artifex.com> | 2020-05-19 12:18:29 -0700 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2020-05-20 19:50:36 +0100 |
commit | c9142412c3ec52e2fcb42053706352a9ee5d9a74 (patch) | |
tree | 62f6b9eeb49285090f1507fc059aa0bb0785d22d /toolbin | |
parent | cf15813c35a75067e828608c665dae30999f8dd5 (diff) | |
download | ghostpdl-c9142412c3ec52e2fcb42053706352a9ee5d9a74.tar.gz |
Add tiff to bmpcmp
This upgrades the VS solution to 2019 for the bmpcmp project. Fixes a couple
minor issues that existed with some of the project configurations and add
tiff support.
Diffstat (limited to 'toolbin')
-rw-r--r-- | toolbin/bmpcmp.c | 206 | ||||
-rw-r--r-- | toolbin/bmpcmp.sln | 15 | ||||
-rw-r--r-- | toolbin/bmpcmp.vcproj | 454 | ||||
-rw-r--r-- | toolbin/bmpcmp.vcxproj | 235 |
4 files changed, 449 insertions, 461 deletions
diff --git a/toolbin/bmpcmp.c b/toolbin/bmpcmp.c index 1ab6b64a8..3fed975bd 100644 --- a/toolbin/bmpcmp.c +++ b/toolbin/bmpcmp.c @@ -16,6 +16,10 @@ #include <png.h> #endif +#ifdef HAVE_LIBTIFF +#include "tiffio.h" +#endif + #ifndef BETTER_CMYK #define BETTER_CMYK 1 #endif @@ -90,6 +94,7 @@ typedef struct typedef struct ImageReader { FILE *file; + const char* file_name; void *(*read)(struct ImageReader *, int *w, int *h, @@ -1017,6 +1022,193 @@ static void *pnm_read(ImageReader *im, return bmp; } +#ifdef HAVE_LIBTIFF +static tmsize_t tiff_cread(thandle_t im_, + void *buf, + tmsize_t n) +{ + ImageReader *im = (ImageReader *)im_; + return fread(buf, 1, n, im->file); +} + +static tmsize_t tiff_cwrite(thandle_t im_, + void *buf, + tmsize_t n) +{ + return 0; +} + +static toff_t tiff_cseek(thandle_t im_, + toff_t offset, + int whence) +{ + ImageReader *im = (ImageReader *)im_; + fseek(im->file, (long)offset, whence); + return (toff_t)ftell(im->file); +} + +static int tiff_cclose(thandle_t im_) +{ + return 0; +} + +static toff_t tiff_csize(thandle_t im_) +{ + ImageReader *im = (ImageReader *)im_; + long pos = ftell(im->file); + toff_t size; + + fseek(im->file, 0, SEEK_END); + size = (toff_t)ftell(im->file); + fseek(im->file, pos, SEEK_SET); + return size; +} + +static void* tif_read(ImageReader* im, + int* im_width, + int* im_height, + int* span, + int* bpp, + int* cmyk) +{ + TIFF* tif; + uint16 compression; + uint16 bpc, num_comps, planar, photometric; + uint32 row; + int is_tiled; + unsigned char *data, *row_ptr; + tdata_t buf; + uint32 width; + uint32 height; + + /* There is only one image in each file */ + if (ftell(im->file) != 0) + return NULL; + + tif = TIFFClientOpen(im->file_name, "rb", + (thandle_t)im, + tiff_cread, tiff_cwrite, + tiff_cseek, tiff_cclose, + tiff_csize, + NULL, NULL/* map/unmap */); + + if (tif == NULL) { + fprintf(stderr, "bmpcmp: TIFF failed to parse\n"); + exit(1); + } + + TIFFGetField(tif, TIFFTAG_COMPRESSION, &compression); + if (compression == COMPRESSION_JPEG) { + fprintf(stderr, "bmpcmp: JPEG compression not supported for TIFF\n"); + exit(1); + } + + TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &photometric); + if (!(photometric == PHOTOMETRIC_SEPARATED || + photometric == PHOTOMETRIC_RGB)) { + fprintf(stderr, "bmpcmp: Photometric encoding not supported for TIFF\n"); + exit(1); + } + + TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &num_comps); + if (num_comps != 3 && photometric == PHOTOMETRIC_RGB) { + fprintf(stderr, "bmpcmp: Alpha not supported for TIFF\n"); + exit(1); + } + if (num_comps != 4 && photometric == PHOTOMETRIC_SEPARATED) { + fprintf(stderr, "bmpcmp: Alpha not supported for TIFF\n"); + exit(1); + } + + TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &width); + TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &height); + TIFFGetField(tif, TIFFTAG_BITSPERSAMPLE, &bpc); + TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &planar); + + if (width == 0 || height == 0 || bpc == 0 || num_comps == 0) { + fprintf(stderr, "bmpcmp: Bad TIFF content!\n"); + exit(1); + } + if (bpc != 8) { + fprintf(stderr, "bmpcmp: Only support 8 bpc TIFF!\n"); + exit(1); + } + if (num_comps != 1 && num_comps != 3 && num_comps != 4) { + fprintf(stderr, "bmpcmp: Only support Gray, RGB or CMYK TIFF!\n"); + exit(1); + } + if (num_comps != 4 && planar == PLANARCONFIG_SEPARATE) { + fprintf(stderr, "bmpcmp: Only support planar TIFFs if they are CMYK!\n"); + exit(1); + } + + is_tiled = TIFFIsTiled(tif); + if (is_tiled) { + fprintf(stderr, "bmpcmp: TIFF tiled format not supported!\n"); + exit(1); + } + + data = Malloc(height * width * 4); + row_ptr = data; + + buf = _TIFFmalloc(TIFFScanlineSize(tif)); + if (buf == NULL) { + fprintf(stderr, "bmpcmp: TIFF malloc failed\n"); + exit(1); + } + if (planar == PLANARCONFIG_CONTIG) { + for (row = 0; row < height; row++) { + TIFFReadScanline(tif, buf, row, 0); + if (num_comps == 4) + memcpy(row_ptr, buf, width * 4); + else if (num_comps == 3) { + uint32 i; + char *out = (char *)row_ptr; + const char *in = (const char *)buf; + for (i = width; i != 0; i--) { + *out++ = in[2]; + *out++ = in[1]; + *out++ = in[0]; + *out++ = 0; + in += 3; + } + } else if (num_comps == 1) { + uint32 i; + char *out = (char *)row_ptr; + const char *in = (const char *)buf; + for (i = width; i != 0; i--) { + *out++ = *in; + *out++ = *in; + *out++ = *in++; + *out++ = 0; + } + } + row_ptr += (width * 4); + } + } else if (planar == PLANARCONFIG_SEPARATE) { + uint16 s, nsamples; + + TIFFGetField(tif, TIFFTAG_SAMPLESPERPIXEL, &nsamples); + for (s = 0; s < nsamples; s++) + for (row = 0; row < height; row++) { + TIFFReadScanline(tif, buf, row, s); + memcpy(row_ptr, buf, width * 4); + row_ptr += (width * 4); + } + } + _TIFFfree(buf); + TIFFClose(tif); + + *im_width = width; + *im_height = height; + *span = width * 4; + *bpp = 32; + *cmyk = num_comps == 4; + + return data; +} +#endif + #ifdef HAVE_LIBPNG static void *png_read(ImageReader *im, int *width, @@ -1027,7 +1219,8 @@ static void *png_read(ImageReader *im, { png_structp png; png_infop info; - int stride, w, h, y, x; + size_t stride; + int w, h, y, x; unsigned char *data; int expand = 0; @@ -1088,8 +1281,8 @@ static void *png_read(ImageReader *im, *width = w; *height = h; - *span = stride; - *bpp = (stride * 8) / w; + *span = (int) stride; + *bpp = (int) (stride * 8) / w; *cmyk = 0; return data; } @@ -1403,6 +1596,7 @@ static void image_open(ImageReader *im, fprintf(stderr, "bmpcmp: %s failed to open\n", filename); exit(EXIT_FAILURE); } + im->file_name = filename; /* Identify the filetype */ type = fgetc(im->file); @@ -1426,6 +1620,11 @@ static void image_open(ImageReader *im, im->read = cups_read_be; else goto fail; +#ifdef HAVE_LIBTIFF + } else if (type == 0x49 || type == 0x4D) { + im->read = tif_read; + ungetc(type, im->file); +#endif } else { type |= (fgetc(im->file)<<8); if (type == 0x4d42) { /* BM */ @@ -2501,7 +2700,6 @@ lookup(int c, int m, int y, int k, int rx, ry, rz; int x0, y0, z0; int X0, X1, Y0, Y1, Z0, Z1; - int i; int c0, c1, c2, c3, Rest; int OutChan; int Tmp1[3], Tmp2[3]; diff --git a/toolbin/bmpcmp.sln b/toolbin/bmpcmp.sln index 6b371ad77..44e3c45d4 100644 --- a/toolbin/bmpcmp.sln +++ b/toolbin/bmpcmp.sln @@ -1,26 +1,35 @@ -Microsoft Visual Studio Solution File, Format Version 9.00 -# Visual Studio 2005 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bmpcmp", "bmpcmp.vcproj", "{460A58D8-7094-48EC-B996-F456D1BD08A9}" +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30104.148 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bmpcmp", "bmpcmp.vcxproj", "{460A58D8-7094-48EC-B996-F456D1BD08A9}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 + Debug|Win326 = Debug|Win326 Debug|x64 = Debug|x64 Release|Win32 = Release|Win32 + Release|Win326 = Release|Win326 Release|x64 = Release|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {460A58D8-7094-48EC-B996-F456D1BD08A9}.Debug|Win32.ActiveCfg = Debug|Win32 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Debug|Win32.Build.0 = Debug|Win32 + {460A58D8-7094-48EC-B996-F456D1BD08A9}.Debug|Win326.ActiveCfg = Debug|Win32 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Debug|x64.ActiveCfg = Debug|x64 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Debug|x64.Build.0 = Debug|x64 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Release|Win32.ActiveCfg = Release|Win32 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Release|Win32.Build.0 = Release|Win32 + {460A58D8-7094-48EC-B996-F456D1BD08A9}.Release|Win326.ActiveCfg = Release|Win32 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Release|x64.ActiveCfg = Release|x64 {460A58D8-7094-48EC-B996-F456D1BD08A9}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {E5CB3F49-D596-4CFF-A2E8-900228D88E11} + EndGlobalSection EndGlobal diff --git a/toolbin/bmpcmp.vcproj b/toolbin/bmpcmp.vcproj deleted file mode 100644 index 03bdf2020..000000000 --- a/toolbin/bmpcmp.vcproj +++ /dev/null @@ -1,454 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<VisualStudioProject - ProjectType="Visual C++" - Version="8.00" - Name="bmpcmp" - ProjectGUID="{460A58D8-7094-48EC-B996-F456D1BD08A9}" - RootNamespace="bmpcmp" - Keyword="Win32Proj" - > - <Platforms> - <Platform - Name="Win32" - /> - <Platform - Name="x64" - /> - </Platforms> - <ToolFiles> - </ToolFiles> - <Configurations> - <Configuration - Name="Debug|Win32" - OutputDirectory="Debug" - IntermediateDirectory="Debug" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="..\libpng;..\zlib;..\debugobj\" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;/DHAVE_LIBPNG" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="4" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|Win32" - OutputDirectory="Release" - IntermediateDirectory="Release" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\libpng;..\zlib;..\debugobj\" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;/DHAVE_LIBPNG" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="1" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Debug|x64" - OutputDirectory="$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - TargetEnvironment="3" - /> - <Tool - Name="VCCLCompilerTool" - Optimization="0" - AdditionalIncludeDirectories="..\libpng;..\zlib;..\debugobj\" - PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE;/DHAVE_LIBPNG" - MinimalRebuild="true" - BasicRuntimeChecks="3" - RuntimeLibrary="3" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - TargetMachine="17" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - <Configuration - Name="Release|x64" - OutputDirectory="$(PlatformName)\$(ConfigurationName)" - IntermediateDirectory="$(PlatformName)\$(ConfigurationName)" - ConfigurationType="1" - > - <Tool - Name="VCPreBuildEventTool" - /> - <Tool - Name="VCCustomBuildTool" - /> - <Tool - Name="VCXMLDataGeneratorTool" - /> - <Tool - Name="VCWebServiceProxyGeneratorTool" - /> - <Tool - Name="VCMIDLTool" - TargetEnvironment="3" - /> - <Tool - Name="VCCLCompilerTool" - AdditionalIncludeDirectories="..\libpng;..\zlib;..\debugobj\" - PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE;/DHAVE_LIBPNG" - RuntimeLibrary="2" - UsePrecompiledHeader="0" - WarningLevel="3" - Detect64BitPortabilityProblems="true" - DebugInformationFormat="3" - /> - <Tool - Name="VCManagedResourceCompilerTool" - /> - <Tool - Name="VCResourceCompilerTool" - /> - <Tool - Name="VCPreLinkEventTool" - /> - <Tool - Name="VCLinkerTool" - LinkIncremental="2" - GenerateDebugInformation="true" - SubSystem="1" - OptimizeReferences="2" - EnableCOMDATFolding="2" - TargetMachine="17" - /> - <Tool - Name="VCALinkTool" - /> - <Tool - Name="VCManifestTool" - /> - <Tool - Name="VCXDCMakeTool" - /> - <Tool - Name="VCBscMakeTool" - /> - <Tool - Name="VCFxCopTool" - /> - <Tool - Name="VCAppVerifierTool" - /> - <Tool - Name="VCWebDeploymentTool" - /> - <Tool - Name="VCPostBuildEventTool" - /> - </Configuration> - </Configurations> - <References> - </References> - <Files> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > - </Filter> - <Filter - Name="Resource Files" - Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" - UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}" - > - </Filter> - <Filter - Name="Source Files" - Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx" - UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" - > - <File - RelativePath="..\zlib\adler32.c" - > - </File> - <File - RelativePath=".\bmpcmp.c" - > - </File> - <File - RelativePath="..\zlib\compress.c" - > - </File> - <File - RelativePath="..\zlib\crc32.c" - > - </File> - <File - RelativePath="..\zlib\deflate.c" - > - </File> - <File - RelativePath="..\zlib\infback.c" - > - </File> - <File - RelativePath="..\zlib\inffast.c" - > - </File> - <File - RelativePath="..\zlib\inflate.c" - > - </File> - <File - RelativePath="..\zlib\inftrees.c" - > - </File> - <File - RelativePath="..\libpng\png.c" - > - </File> - <File - RelativePath="..\libpng\pngerror.c" - > - </File> - <File - RelativePath="..\libpng\pngget.c" - > - </File> - <File - RelativePath="..\libpng\pngmem.c" - > - </File> - <File - RelativePath="..\libpng\pngpread.c" - > - </File> - <File - RelativePath="..\libpng\pngread.c" - > - </File> - <File - RelativePath="..\libpng\pngrio.c" - > - </File> - <File - RelativePath="..\libpng\pngrtran.c" - > - </File> - <File - RelativePath="..\libpng\pngrutil.c" - > - </File> - <File - RelativePath="..\libpng\pngset.c" - > - </File> - <File - RelativePath="..\libpng\pngtrans.c" - > - </File> - <File - RelativePath="..\libpng\pngwio.c" - > - </File> - <File - RelativePath="..\libpng\pngwrite.c" - > - </File> - <File - RelativePath="..\libpng\pngwtran.c" - > - </File> - <File - RelativePath="..\libpng\pngwutil.c" - > - </File> - <File - RelativePath="..\zlib\trees.c" - > - </File> - <File - RelativePath="..\zlib\uncompr.c" - > - </File> - <File - RelativePath="..\zlib\zutil.c" - > - </File> - </Filter> - </Files> - <Globals> - </Globals> -</VisualStudioProject> diff --git a/toolbin/bmpcmp.vcxproj b/toolbin/bmpcmp.vcxproj new file mode 100644 index 000000000..ef65ad53d --- /dev/null +++ b/toolbin/bmpcmp.vcxproj @@ -0,0 +1,235 @@ +<?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="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{460A58D8-7094-48EC-B996-F456D1BD08A9}</ProjectGuid> + <RootNamespace>bmpcmp</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <PlatformToolset>v142</PlatformToolset> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" 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)'=='Debug|Win32'" 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> + <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> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>16.0.30028.132</_ProjectFileVersion> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <OutDir>Debug\</OutDir> + <IntDir>Debug\</IntDir> + <LinkIncremental>true</LinkIncremental> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>Release\</OutDir> + <IntDir>Release\</IntDir> + <LinkIncremental>true</LinkIncremental> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <OutDir>$(Platform)\$(Configuration)\</OutDir> + <IntDir>$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental>true</LinkIncremental> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <OutDir>$(Platform)\$(Configuration)\</OutDir> + <IntDir>$(Platform)\$(Configuration)\</IntDir> + <LinkIncremental>true</LinkIncremental> + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\libpng;..\zlib;..\debugobj\;..\tiff\libtiff;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_LIBPNG;HAVE_LIBTIFF;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader /> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>EditAndContinue</DebugInformationFormat> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <AdditionalIncludeDirectories>..\libpng;..\zlib;..\debugobj\;..\tiff\libtiff;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_LIBPNG;HAVE_LIBTIFF;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader /> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX86</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>Disabled</Optimization> + <AdditionalIncludeDirectories>..\libpng;..\zlib;..\debugobj\;..\tiff\libtiff;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;HAVE_LIBPNG;HAVE_LIBTIFF;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MinimalRebuild>true</MinimalRebuild> + <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> + <PrecompiledHeader /> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <AdditionalIncludeDirectories>..\libpng;..\zlib;..\debugobj\;..\tiff\libtiff;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;HAVE_LIBPNG;HAVE_LIBTIFF;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <PrecompiledHeader /> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX64</TargetMachine> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\libpng\png.c" /> + <ClCompile Include="..\libpng\pngerror.c" /> + <ClCompile Include="..\libpng\pngget.c" /> + <ClCompile Include="..\libpng\pngmem.c" /> + <ClCompile Include="..\libpng\pngpread.c" /> + <ClCompile Include="..\libpng\pngread.c" /> + <ClCompile Include="..\libpng\pngrio.c" /> + <ClCompile Include="..\libpng\pngrtran.c" /> + <ClCompile Include="..\libpng\pngrutil.c" /> + <ClCompile Include="..\libpng\pngset.c" /> + <ClCompile Include="..\libpng\pngtrans.c" /> + <ClCompile Include="..\libpng\pngwio.c" /> + <ClCompile Include="..\libpng\pngwrite.c" /> + <ClCompile Include="..\libpng\pngwtran.c" /> + <ClCompile Include="..\libpng\pngwutil.c" /> + <ClCompile Include="..\tiff\libtiff\tif_aux.c" /> + <ClCompile Include="..\tiff\libtiff\tif_close.c" /> + <ClCompile Include="..\tiff\libtiff\tif_codec.c" /> + <ClCompile Include="..\tiff\libtiff\tif_color.c" /> + <ClCompile Include="..\tiff\libtiff\tif_compress.c" /> + <ClCompile Include="..\tiff\libtiff\tif_dir.c" /> + <ClCompile Include="..\tiff\libtiff\tif_dirinfo.c" /> + <ClCompile Include="..\tiff\libtiff\tif_dirread.c" /> + <ClCompile Include="..\tiff\libtiff\tif_dirwrite.c" /> + <ClCompile Include="..\tiff\libtiff\tif_dumpmode.c" /> + <ClCompile Include="..\tiff\libtiff\tif_error.c" /> + <ClCompile Include="..\tiff\libtiff\tif_extension.c" /> + <ClCompile Include="..\tiff\libtiff\tif_fax3.c" /> + <ClCompile Include="..\tiff\libtiff\tif_fax3sm.c" /> + <ClCompile Include="..\tiff\libtiff\tif_flush.c" /> + <ClCompile Include="..\tiff\libtiff\tif_getimage.c" /> + <ClCompile Include="..\tiff\libtiff\tif_jbig.c" /> + <ClCompile Include="..\tiff\libtiff\tif_jpeg.c" /> + <ClCompile Include="..\tiff\libtiff\tif_jpeg_12.c" /> + <ClCompile Include="..\tiff\libtiff\tif_luv.c" /> + <ClCompile Include="..\tiff\libtiff\tif_lzma.c" /> + <ClCompile Include="..\tiff\libtiff\tif_lzw.c" /> + <ClCompile Include="..\tiff\libtiff\tif_next.c" /> + <ClCompile Include="..\tiff\libtiff\tif_ojpeg.c" /> + <ClCompile Include="..\tiff\libtiff\tif_open.c" /> + <ClCompile Include="..\tiff\libtiff\tif_packbits.c" /> + <ClCompile Include="..\tiff\libtiff\tif_pixarlog.c" /> + <ClCompile Include="..\tiff\libtiff\tif_predict.c" /> + <ClCompile Include="..\tiff\libtiff\tif_print.c" /> + <ClCompile Include="..\tiff\libtiff\tif_read.c" /> + <ClCompile Include="..\tiff\libtiff\tif_strip.c" /> + <ClCompile Include="..\tiff\libtiff\tif_swab.c" /> + <ClCompile Include="..\tiff\libtiff\tif_thunder.c" /> + <ClCompile Include="..\tiff\libtiff\tif_tile.c" /> + <ClCompile Include="..\tiff\libtiff\tif_version.c" /> + <ClCompile Include="..\tiff\libtiff\tif_warning.c" /> + <ClCompile Include="..\tiff\libtiff\tif_webp.c" /> + <ClCompile Include="..\tiff\libtiff\tif_win32.c" /> + <ClCompile Include="..\tiff\libtiff\tif_write.c" /> + <ClCompile Include="..\tiff\libtiff\tif_zip.c" /> + <ClCompile Include="..\tiff\libtiff\tif_zstd.c" /> + <ClCompile Include="..\zlib\adler32.c" /> + <ClCompile Include="..\zlib\compress.c" /> + <ClCompile Include="..\zlib\crc32.c" /> + <ClCompile Include="..\zlib\deflate.c" /> + <ClCompile Include="..\zlib\infback.c" /> + <ClCompile Include="..\zlib\inffast.c" /> + <ClCompile Include="..\zlib\inflate.c" /> + <ClCompile Include="..\zlib\inftrees.c" /> + <ClCompile Include="..\zlib\trees.c" /> + <ClCompile Include="..\zlib\uncompr.c" /> + <ClCompile Include="..\zlib\zutil.c" /> + <ClCompile Include="bmpcmp.c" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project>
\ No newline at end of file |