diff options
Diffstat (limited to 'src/tools/msvc/ecpg_regression.proj')
-rw-r--r-- | src/tools/msvc/ecpg_regression.proj | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/tools/msvc/ecpg_regression.proj b/src/tools/msvc/ecpg_regression.proj new file mode 100644 index 0000000..ec2760b --- /dev/null +++ b/src/tools/msvc/ecpg_regression.proj @@ -0,0 +1,64 @@ +<?xml version="1.0"?> +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="all"> +<!-- + MSBuild project file to build ecpg regression tests +--> + + <PropertyGroup> + <TESTDIR>..\..\interfaces\ecpg\test</TESTDIR> + <CONFIG>Debug</CONFIG> + <OUTDIR>..\..\..\..\..\$(CONFIG)\</OUTDIR> + </PropertyGroup> + <PropertyGroup Condition="'$(CONFIG)'=='DEBUG'"> + <!-- set debug runtime library if necessary to be compatible with the LIB files generated --> + <DEBUGLIB>d</DEBUGLIB> + </PropertyGroup> + + <ItemGroup> + <Pgc Include="$(TESTDIR)\**\*.pgc" Exclude="$(TESTDIR)\performance\perftest.pgc"/> + </ItemGroup> + + <ItemGroup> + <OutputToDelete Include="$(TESTDIR)\**\*.exe" /> + <OutputToDelete Include="$(TESTDIR)\**\*.exe.manifest" /> + <OutputToDelete Include="$(TESTDIR)\**\*.obj" /> + <OutputToDelete Include="$(TESTDIR)\**\*.c" Exclude="$(TESTDIR)\pg_regress_ecpg.c;$(TESTDIR)\expected\*.c" /> + </ItemGroup> + + <Target Name="all" Inputs="@(Pgc)" Outputs="%(RelativeDir)%(Filename).exe"> + <!-- Set special parameters for some tests --> + <CreateProperty Value="-C INFORMIX" Condition="'%(Pgc.RelativeDir)'=='$(TESTDIR)\compat_informix\'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-C INFORMIX -r no_indicator" Condition="'%(Pgc.FileName)'=='rnull'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-C ORACLE" Condition="'%(Pgc.RelativeDir)'=='$(TESTDIR)\compat_oracle\'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-c" Condition="'%(Pgc.FileName)'=='array_of_struct'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-c" Condition="'%(Pgc.FileName)'=='pointer_to_struct'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-r questionmarks" Condition="'%(Pgc.FileName)'=='oldexec'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-r prepare" Condition="'%(Pgc.FileName)'=='autoprep'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="-i" Condition="'%(Pgc.FileName)'=='strings'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + + <!-- Run ECPG and the Visual C++ compiler on the files. Don't bother with dependency check between the steps --> + <Exec WorkingDirectory="%(Pgc.RelativeDir)" Command="$(OUTDIR)ecpg\ecpg -I ../../include --regression $(ECPGPARAM) -o %(Pgc.Filename).c %(Pgc.Filename).pgc" /> + <Exec WorkingDirectory="%(Pgc.RelativeDir)" Command="cl /nologo %(Pgc.FileName).c /TC /MD$(DEBUGLIB) /DENABLE_THREAD_SAFETY /DWIN32 /I. /I..\..\include /I..\..\..\libpq /I..\..\..\..\include /link /defaultlib:$(OUTDIR)libecpg\libecpg.lib /defaultlib:$(OUTDIR)libecpg_compat\libecpg_compat.lib /defaultlib:$(OUTDIR)libpgtypes\libpgtypes.lib" /> + </Target> + + <!-- Clean up all output files --> + <Target Name="clean"> + <Delete Files="@(OutputToDelete)" /> + </Target> +</Project> |