Files
nethack/win/win32/vs2017/levcomp.vcxproj
2017-09-04 12:56:20 +03:00

83 lines
3.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="config.props" />
<PropertyGroup Label="Globals">
<ProjectGuid>{9DD9C52E-E8C9-4533-BD22-83C055C0AABA}</ProjectGuid>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<Import Project="default.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<Import Project="console.props" />
<Import Project="common.props" />
<Import Project="dirs.props" />
<Import Project="files.props" />
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);$(SysShareDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;YY_NO_UNISTD_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(SrcDir)alloc.c" />
<ClCompile Include="$(SrcDir)decl.c" />
<ClCompile Include="$(SrcDir)drawing.c" />
<ClCompile Include="$(UtilDir)lev_lex.c" />
<ClCompile Include="$(UtilDir)lev_main.c" />
<ClCompile Include="$(UtilDir)lev_yacc.c" />
<ClCompile Include="$(SrcDir)monst.c" />
<ClCompile Include="$(SrcDir)objects.c" />
<ClCompile Include="$(UtilDir)panic.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(IncDir)lev_comp.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Choose>
<When Condition=" '$(YACC)'!='' ">
<PropertyGroup>
<BuildDependsOn>
Lex;
Yacc;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
</When>
<Otherwise>
<PropertyGroup>
<BuildDependsOn>
NoLex;
NoYacc;
$(BuildDependsOn);
</BuildDependsOn>
</PropertyGroup>
</Otherwise>
</Choose>
<Target Name="Yacc" Inputs="$(UtilDir)lev_comp.y" Outputs="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h">
<Message Text="Running Yacc" Importance="high" />
<Exec Command="$(YACC) -d lev_comp.y" WorkingDirectory="$(UtilDir)" />
<Move SourceFiles="$(UtilDir)y.tab.c;$(UtilDir)y.tab.h" DestinationFiles="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h" />
</Target>
<Target Name="Lex" Inputs="$(UtilDir)lev_comp.l" Outputs="$(UtilDir)lev_lex.c">
<Message Text="Running Lex" Importance="high" />
<Exec Command="$(LEX) lev_comp.l" WorkingDirectory="$(UtilDir)" />
<Move SourceFiles="$(UtilDir)lex.yy.c" DestinationFiles="$(UtilDir)lev_lex.c" />
</Target>
<Target Name="NoYacc" Inputs="$(SysShareDir)lev_yacc.c;$(SysShareDir)lev_comp.h" Outputs="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h">
<Message Text="No Yacc using pre-built files" Importance="high" />
<Copy SourceFiles="$(SysShareDir)lev_yacc.c;$(SysShareDir)lev_comp.h" DestinationFiles="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h" />
</Target>
<Target Name="NoLex" Inputs="$(SysShareDir)lev_lex.c" Outputs="$(UtilDir)lev_lex.c">
<Message Text="No Lex using pre-built files" Importance="high" />
<Copy SourceFiles="$(SysShareDir)lev_lex.c" DestinationFiles="$(UtilDir)lev_lex.c" />
</Target>
<Target Name="AfterBuild">
<MSBuild Projects="afterlevcomp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
<Target Name="AfterClean">
<MSBuild Projects="afterlevcomp.proj" Targets="Clean" Properties="Configuration=$(Configuration)" />
<Delete Files="$(UtilDir)lev_yacc.c;$(IncDir)lev_comp.h;$(UtilDir)lev_lex.c" />
</Target>
<Target Name="AfterRebuild">
<MSBuild Projects="afterlevcomp.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
</Target>
</Project>