| <?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" Condition="'%(Pgc.FileName)'=='array_of_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 /DWIN32_ONLY_COMPILER /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> |