]> granicus.if.org Git - nethack/commitdiff
Visual Studio 2015 build improvements.
authorBart House <bhouse@ntdev.microsoft.com>
Tue, 29 Aug 2017 05:32:16 +0000 (22:32 -0700)
committerPasi Kallinen <paxed@alt.org>
Fri, 1 Sep 2017 09:13:30 +0000 (12:13 +0300)
15 files changed:
win/win32/.gitignore
win/win32/nethack.rc [new file with mode: 0644]
win/win32/vs2015/NetHack.vcxproj
win/win32/vs2015/NetHackW.vcxproj
win/win32/vs2015/afterdgncomp.proj
win/win32/vs2015/afterdlb.proj
win/win32/vs2015/afterlevcomp.proj
win/win32/vs2015/aftermakedefs.proj
win/win32/vs2015/afternethack.proj
win/win32/vs2015/aftertile2bmp.proj
win/win32/vs2015/aftertilemap.proj
win/win32/vs2015/afteruudecode.proj
win/win32/vs2015/common.props
win/win32/vs2015/dirs.props
win/win32/vs2015/recover.vcxproj

index ad63feee5798da3cea53401cf7a8ce141bd31b88..00483b5c1e9122e2404730a9e4d3318742eecd78 100644 (file)
@@ -2,4 +2,4 @@
 *.bmp
 *.ico
 *.db
-
+record
diff --git a/win/win32/nethack.rc b/win/win32/nethack.rc
new file mode 100644 (file)
index 0000000..0877532
--- /dev/null
@@ -0,0 +1,14 @@
+//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_NETHACKW            ICON    DISCARDABLE     "NETHACK.ICO"
+
+
index b9f29c28919b5fb53caba78a2bc2df3284722776..306f74ae765d6e2fc115ef03c36d1738edeceabc 100755 (executable)
@@ -1,21 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-
   <Import Project="config.props" />
-
   <PropertyGroup Label="Globals">\r
     <ProjectGuid>{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}</ProjectGuid>\r
     <Keyword>Win32Proj</Keyword>\r
     <RootNamespace>NetHack</RootNamespace>\r
   </PropertyGroup>\r
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
   <Import Project="default.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <Import Project="console.props" />
   <Import Project="common.props" />
   <Import Project="dirs.props" />
   <Import Project="files.props" />
+
+  <PropertyGroup>
+    <OutDir>$(BinDir)</OutDir>
+  </PropertyGroup>
   
   <ItemDefinitionGroup>
     <ClCompile>\r
@@ -31,7 +32,6 @@
       <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;winmm.lib;Winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
-  
   <ItemGroup>\r
     <ClCompile Include="$(SrcDir)allmain.c" />
     <ClCompile Include="$(SrcDir)alloc.c" />
     <ClInclude Include="$(IncDir)you.h" />
     <ClInclude Include="$(IncDir)youprop.h" />
   </ItemGroup>\r
+  <ItemGroup>
+    <ResourceCompile Include="$(WinWin32Dir)winhack.rc" />
+  </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
- <Target Name="AfterBuild">
 <Target Name="AfterBuild">
     <MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
   </Target>
   <Target Name="AfterClean">
   <Target Name="AfterRebuild">
     <MSBuild Projects="afternethack.proj" Targets="Build" Properties="Configuration=$(Configuration)" />
   </Target>
- </Project>
\ No newline at end of file
+</Project>
\ No newline at end of file
index 51ba95e5b2289491686da532848ab3279243be8b..52403bbf6a9abeb5f370da3087fdbb9af5524ff6 100755 (executable)
   <Import Project="dirs.props" />
   <Import Project="files.props" />
 
+  <PropertyGroup>
+    <OutDir>$(BinDir)</OutDir>
+  </PropertyGroup>
+
   <ItemDefinitionGroup>
     <ClCompile>\r
       <AdditionalOptions>/Gs /Oi- %(AdditionalOptions)</AdditionalOptions>
index 74ed0d96a859e1d3e329f4ce4cc7f0b5df2bbf6f..7aebee743e88d08616744b8b6dc4f2e68b953e58 100644 (file)
@@ -2,9 +2,9 @@
   <Import Project="dirs.props"/>
   <Import Project="files.props"/>
   <Target Name="Build" 
-     Inputs="$(BinDir)dgncomp.exe;$(DatDir)dungeon.pdf"
+     Inputs="$(ToolsDir)dgncomp.exe;$(DatDir)dungeon.pdf"
         Outputs="$(DatDir)dungeon">
-       <Exec Command="$(BinDir)dgncomp.exe dungeon.pdf" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)dgncomp.exe dungeon.pdf" WorkingDirectory="$(DatDir)"/>
   </Target>
   <Target Name="Clean">
        <Delete Files="$(DatDir)dungeon"/>
index a93c8f720f220e25e0ecf71a80239f47abfcf1c8..ed68ba33ecf93f610340ae302a2fb7e2b4631c62 100644 (file)
@@ -2,12 +2,12 @@
   <Import Project="dirs.props"/>
   <Import Project="files.props"/>
   <Target Name="Build" 
-       Inputs="$(BinDir)dlb.exe;@(DlbList);$(SysWinntDir)porthelp"
+       Inputs="$(ToolsDir)dlb.exe;@(DlbList);$(SysWinntDir)porthelp"
        Outputs="$(BinDir)nhdat">
 
        <Copy SourceFiles="$(SysWinntDir)porthelp" DestinationFolder="$(DatDir)"/>
        <WriteLinesToFile File="$(DatDir)dlb.lst" Lines="@(DlbList->'%(filename)%(extension)')" Overwrite="true"/>
-       <Exec Command="$(BinDir)dlb.exe cIf $(DatDir)dlb.lst $(BinDir)nhdat" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)dlb.exe cIf $(DatDir)dlb.lst $(BinDir)nhdat" WorkingDirectory="$(DatDir)"/>
        <Delete Files="$(DatDir)porthelp"/>
 
        </Target>
index 3b8cd43139371a04593d348d4fa7abb9c6364469..924f66cd578c7b56ff7abbf0e9363f18dfc56feb 100644 (file)
@@ -4,7 +4,7 @@
   <Target Name="Build" 
      Inputs="@(Desfiles->'$(DatDir)%(filename)%(extension)');$(BinDir)levcomp.exe"
         Outputs="@(Levfiles->'$(DatDir)%(filename)%(extension)')">
-       <Exec Command="$(BinDir)levcomp.exe @(Desfiles, ' ')" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)levcomp.exe @(Desfiles, ' ')" WorkingDirectory="$(DatDir)"/>
   </Target>
   <Target Name="Clean">
        <Delete Files="@(Levfiles->'$(DatDir)%(filename)%(extension)')"/>
index 4986f8e6cd8c17e3ca2168b62f323f5f74119b48..20adf1b15a78467fc55005dc0f01d2c5add8a5c8 100644 (file)
@@ -2,19 +2,19 @@
   <Import Project="dirs.props"/>
   <Import Project="files.props"/>
   <Target Name="Build" 
-     Inputs="$(BinDir)makedefs.exe"
+     Inputs="$(ToolsDir)makedefs.exe"
         Outputs="@(Defs)">
-       <Exec Command="$(BinDir)makedefs.exe -v" WorkingDirectory="$(UtilDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -o" WorkingDirectory="$(UtilDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -p" WorkingDirectory="$(UtilDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -m" WorkingDirectory="$(UtilDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -z" WorkingDirectory="$(UtilDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -d" WorkingDirectory="$(DatDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -r" WorkingDirectory="$(DatDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -s" WorkingDirectory="$(DatDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -q" WorkingDirectory="$(DatDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -h" WorkingDirectory="$(DatDir)"/>
-       <Exec Command="$(BinDir)makedefs.exe -e" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -v" WorkingDirectory="$(UtilDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -o" WorkingDirectory="$(UtilDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -p" WorkingDirectory="$(UtilDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -m" WorkingDirectory="$(UtilDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -z" WorkingDirectory="$(UtilDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -d" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -r" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -s" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -q" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -h" WorkingDirectory="$(DatDir)"/>
+       <Exec Command="$(ToolsDir)makedefs.exe -e" WorkingDirectory="$(DatDir)"/>
   </Target>
   <Target Name="Clean">
        <Delete Files="@(Defs)"/>
index 4e03f278fd51c074cd8a1e1e476119d7487ad4c1..3b769323ed77671b2a37f5d8970f7b584d33fa3e 100644 (file)
@@ -3,13 +3,13 @@
   <Import Project="files.props"/>
   <!-- TODO not copying record -->
   <Target Name="Build" 
-       Inputs="$(SysWinntDir)defaults.nh;$(DocDir)Guidebook.txt;$(DatDir)license;$(SysWinntDir)sysconf;$(DocDir)nethack.txt"
-       Outputs="$(BinDir)defaults.nh;$(BinDir)Guidebook.txt;$(BinDir)license;$(BinDir)sysconf;">
+       Inputs="$(SysWinntDir)defaults.nh;$(DocDir)Guidebook.txt;$(DatDir)license;$(SysWinntDir)sysconf;$(DocDir)nethack.txt;$(DatDir)symbols;$(WinWin32Dir)record;$(DatDir)opthelp"
+       Outputs="$(BinDir)defaults.nh;$(BinDir)Guidebook.txt;$(BinDir)license;$(BinDir)sysconf;$(BinDir)symbols;$(BinDir)record;$(BinDir)opthelp">
 
-       <Copy SourceFiles="$(SysWinntDir)defaults.nh;$(DocDir)Guidebook.txt;$(DatDir)license;$(SysWinntDir)sysconf;$(DocDir)nethack.txt" DestinationFolder="$(BinDir)"/>
+       <Copy SourceFiles="$(SysWinntDir)defaults.nh;$(DocDir)Guidebook.txt;$(DatDir)license;$(SysWinntDir)sysconf;$(DocDir)nethack.txt;$(DatDir)symbols;$(WinWin32Dir)record;$(DatDir)opthelp" DestinationFolder="$(BinDir)"/>
 
        </Target>
   <Target Name="Clean">
-       <Delete Files="$(BinDir)defaults.nh;$(BinDir)Guidebook.txt;$(BinDir)license;$(BinDir)sysconf;$(BinDir)nethack.txt;"/>
+       <Delete Files="$(BinDir)defaults.nh;$(BinDir)Guidebook.txt;$(BinDir)license;$(BinDir)sysconf;$(BinDir)nethack.txt;$(BinDir)symbols;$(BinDir)record;$(BinDir)opthelp"/>
   </Target>
 </Project>
index ab37b2e915856184b5f901fda095e1767014b64a..28d2b2e39e6337b5cd8bb5e97193899ad178f329 100644 (file)
@@ -2,9 +2,9 @@
   <Import Project="dirs.props"/>
   <Import Project="files.props"/>
   <Target Name="Build" 
-     Inputs="$(BinDir)tile2bmp.exe;$(WinShareDir)monsters.txt;$(WinShareDir)objects.txt"
+     Inputs="$(ToolsDir)tile2bmp.exe;$(WinShareDir)monsters.txt;$(WinShareDir)objects.txt"
         Outputs="$(WinWin32Dir)tiles.bmp">
-       <Exec Command="$(BinDir)tile2bmp.exe tiles.bmp" WorkingDirectory="$(SrcDir)"/>
+       <Exec Command="$(ToolsDir)tile2bmp.exe tiles.bmp" WorkingDirectory="$(SrcDir)"/>
        <Move SourceFiles="$(SrcDir)tiles.bmp" DestinationFolder="$(WinWin32Dir)"/>
   </Target>
   <Target Name="Clean">
index f2e710ddf20f536d9433968071ddf9e2ba88b545..bfdb48fe95d231b3566897c658c24477276c04fc 100644 (file)
@@ -2,9 +2,9 @@
   <Import Project="dirs.props"/>
   <Import Project="files.props"/>
   <Target Name="Build" 
-     Inputs="$(BinDir)tilemap.exe"
+     Inputs="$(ToolsDir)tilemap.exe"
         Outputs="$(SrcDir)tile.c">
-       <Exec Command="$(BinDir)tilemap.exe" WorkingDirectory="$(SrcDir)"/>
+       <Exec Command="$(ToolsDir)tilemap.exe" WorkingDirectory="$(SrcDir)"/>
   </Target>
   <Target Name="Clean">
        <Delete Files="$(SrcDir)tile.c"/>
index f871981e0d40545b7320063f004884ee6b56c995..b33e3c4f4ad1917dedb192a07518c3200088f521 100644 (file)
@@ -2,18 +2,19 @@
   <Import Project="dirs.props"/>
   <Import Project="files.props"/>
   <Target Name="Build" 
-     Inputs="$(BinDir)uudecode.exe;@(UUFiles)"
-        Outputs="@(IconFiles);@(BmpFiles)">
-       <Exec Command="$(BinDir)uudecode.exe $(SysWinntDir)nhico.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)mnsel.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)mnselcnt.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)mnunsel.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)petmark.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)pilemark.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)splash.uu" WorkingDirectory="$(WinWin32Dir)"/>
-       <Exec Command="$(BinDir)uudecode.exe $(WinWin32Dir)rip.uu" WorkingDirectory="$(WinWin32Dir)"/>
+     Inputs="$(ToolsDir)uudecode.exe;@(UUFiles)"
+        Outputs="@(IconFiles);@(BmpFiles);@(RecordFiles)">
+       <Exec Command="$(ToolsDir)uudecode.exe $(SysWinntDir)nhico.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)mnsel.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)mnselcnt.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)mnunsel.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)petmark.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)pilemark.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)splash.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)rip.uu" WorkingDirectory="$(WinWin32Dir)"/>
+       <Exec Command="$(ToolsDir)uudecode.exe $(WinWin32Dir)record.uu" WorkingDirectory="$(WinWin32Dir)"/>
   </Target>
   <Target Name="Clean">
-       <Delete Files="@(IconFiles);@(BmpFiles)"/>
+       <Delete Files="@(IconFiles);@(BmpFiles);@(RecordFiles)"/>
   </Target>
 </Project>
index 443ebf05f3ee76b4a1d3fce6d0f1b02afe687a0a..d39cf46160eaf8761b83d6d39b26d7a3cea3b93a 100644 (file)
@@ -15,6 +15,7 @@
     </ClCompile>
     <Link>
       <SubSystem>Console</SubSystem>
+      <ProgramDatabaseFile>$(SymbolsDir)$(TargetName).pdb</ProgramDatabaseFile>
     </Link>
   </ItemDefinitionGroup>
   <ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
index 2395f21535e22ca0fb4a1e30ac5682bdc32193ac..8cdcf60c2b6ff7758fdbe7b4fffe1a6faacde041 100644 (file)
@@ -2,10 +2,11 @@
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
     <RootDir>$(MSBuildProjectDirectory)\..\..\..\</RootDir>
-    <UtilDir>$(RootDir)util\</UtilDir>
+    <BinDir>$(RootDir)bin\$(Configuration)\$(Platform)\</BinDir>
     <ObjDir>$(ProjectDir)obj\$(Configuration)\$(Platform)\$(TargetName)\</ObjDir>
-    <OutDir>$(RootDir)bin\$(Configuration)\$(Platform)\</OutDir>
-       <IntDir>$(RootDir)obj\$(Configuration)\$(Platform)\$(TargetName)\</IntDir>
+    <SymbolsDir>$(ProjectDir)symbols\$(Configuration)\$(Platform)\$(TargetName)\</SymbolsDir>
+    <ToolsDir>$(RootDir)tools\$(Configuration)\$(Platform)\</ToolsDir>
+    <UtilDir>$(RootDir)util\</UtilDir>
     <DatDir>$(RootDir)dat\</DatDir>
     <DocDir>$(RootDir)doc\</DocDir>
     <IncDir>$(RootDir)include\</IncDir>
@@ -17,6 +18,7 @@
     <WinShareDir>$(RootDir)win\share\</WinShareDir>
     <WinTtyDir>$(RootDir)win\tty\</WinTtyDir>
     <WinWin32Dir>$(RootDir)win\win32\</WinWin32Dir>
-    <BinDir>$(OutDir)</BinDir>
+    <OutDir>$(ToolsDir)</OutDir>
+       <IntDir>$(ObjDir)</IntDir>
   </PropertyGroup>
 </Project>
\ No newline at end of file
index 5b4626ca4d5410f1300543716858c64000130294..7abba076fbbda7ea2735e299cd3decb10d2d2235 100755 (executable)
@@ -1,11 +1,9 @@
 <?xml version="1.0" encoding="utf-8"?>\r
 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
   <Import Project="config.props" />
-
   <PropertyGroup Label="Globals">\r
     <ProjectGuid>{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}</ProjectGuid>\r
   </PropertyGroup>\r
-
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
   <Import Project="default.props" />
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <Import Project="common.props" />
   <Import Project="dirs.props" />
   <Import Project="files.props" />
-
+  <PropertyGroup>
+    <OutDir>$(BinDir)</OutDir>
+  </PropertyGroup>
   <ItemDefinitionGroup>
     <ClCompile>\r
       <AdditionalIncludeDirectories>$(IncDir);$(SysWinntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>WIN32CON;DLB;MSWIN_GRAPHICS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
     </ClCompile>\r
   </ItemDefinitionGroup>\r
-
   <ItemGroup>\r
     <ClCompile Include="$(UtilDir)recover.c" />
   </ItemGroup>\r