add some zip file packaging to visual studio proj

This commit is contained in:
nhmall
2024-03-31 20:37:56 -04:00
parent dddfd66e7a
commit 1d4aeb4f15
6 changed files with 228 additions and 10 deletions

3
.gitignore vendored
View File

@@ -35,6 +35,9 @@ Makefile
Debug/
Release/
binary/
package/*
vspackage/
vsbinary/
build/
ipch/
lib/*

View File

@@ -85,6 +85,22 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hacklib", "hacklib\hacklib.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fetchprereq", "FetchPrereq\fetchprereq.vcxproj", "{503AE687-C33A-45ED-93AA-83967E176D67}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "package", "package\package.vcxproj", "{0B53AF9B-E1A4-478B-9246-43A39E8B4027}"
ProjectSection(ProjectDependencies) = postProject
{0303A585-3F83-4BB7-AF6B-1E12C8FB54AC} = {0303A585-3F83-4BB7-AF6B-1E12C8FB54AC}
{096FD6BB-256A-4E68-9B09-2ACA7C606FF3} = {096FD6BB-256A-4E68-9B09-2ACA7C606FF3}
{1693F852-A207-4348-8223-222C2A7FEEEB} = {1693F852-A207-4348-8223-222C2A7FEEEB}
{2F35F228-6733-4FE5-9B46-B3AA10D4BC2E} = {2F35F228-6733-4FE5-9B46-B3AA10D4BC2E}
{503AE687-C33A-45ED-93AA-83967E176D67} = {503AE687-C33A-45ED-93AA-83967E176D67}
{609BC774-C6F8-4B2B-AA7D-5B3D0EA95751} = {609BC774-C6F8-4B2B-AA7D-5B3D0EA95751}
{63F9B82B-F589-4082-ABE5-D4F0682050AB} = {63F9B82B-F589-4082-ABE5-D4F0682050AB}
{642BC75D-ABAF-403E-8224-7C725FD4CB42} = {642BC75D-ABAF-403E-8224-7C725FD4CB42}
{93F10526-209E-41D7-BBEA-775787876895} = {93F10526-209E-41D7-BBEA-775787876895}
{BA3DD34C-04B7-40D0-B373-9329AA9E8945} = {BA3DD34C-04B7-40D0-B373-9329AA9E8945}
{BAA70D0F-3EC7-4D10-91F0-974F1F49308B} = {BAA70D0F-3EC7-4D10-91F0-974F1F49308B}
{CEC5D360-8804-454F-8591-002184C23499} = {CEC5D360-8804-454F-8591-002184C23499}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -189,6 +205,14 @@ Global
{503AE687-C33A-45ED-93AA-83967E176D67}.Release|Win32.Build.0 = Release|Win32
{503AE687-C33A-45ED-93AA-83967E176D67}.Release|x64.ActiveCfg = Release|x64
{503AE687-C33A-45ED-93AA-83967E176D67}.Release|x64.Build.0 = Release|x64
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Debug|Win32.ActiveCfg = Debug|Win32
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Debug|Win32.Build.0 = Debug|Win32
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Debug|x64.ActiveCfg = Debug|x64
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Debug|x64.Build.0 = Debug|x64
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Release|Win32.ActiveCfg = Release|Win32
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Release|Win32.Build.0 = Release|Win32
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Release|x64.ActiveCfg = Release|x64
{0B53AF9B-E1A4-478B-9246-43A39E8B4027}.Release|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -112,25 +112,25 @@
<Content Include="Images\Wide310x150Logo.scale-125.png" />
<Content Include="Images\Wide310x150Logo.scale-150.png" />
<Content Include="Images\Wide310x150Logo.scale-200.png" />
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\nethackrc.template">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\nethackrc.template">
<Link>NetHackW\nethackrc.template</Link>
</Content>
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\Guidebook.txt">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\Guidebook.txt">
<Link>NetHackW\Guidebook.txt</Link>
</Content>
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\license">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\license">
<Link>NetHackW\license</Link>
</Content>
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\nhdat$(VERSION_MAJOR)$(VERSION_MINOR)$(PATCHLEVEL)">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\nhdat$(VERSION_MAJOR)$(VERSION_MINOR)$(PATCHLEVEL)">
<Link>NetHackW\nhdat$(VERSION_MAJOR)$(VERSION_MINOR)$(PATCHLEVEL)</Link>
</Content>
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\opthelp">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\opthelp">
<Link>NetHackW\opthelp</Link>
</Content>
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\symbols.template">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\symbols.template">
<Link>NetHackW\symbols.template</Link>
</Content>
<Content Include="..\..\..\binary\$(Configuration)\$(Platform)\sysconf.template">
<Content Include="..\..\..\vsbinary\$(Configuration)\$(Platform)\sysconf.template">
<Link>NetHackW\sysconf.template</Link>
</Content>
<Content Include="Images\Wide310x150Logo.scale-400.png" />

View File

@@ -7,10 +7,9 @@
<MakeDir Directories="$(BinDir)"/>
<Copy SourceFiles="$(SysWindDir)porthelp" DestinationFolder="$(DatDir)"/>
<WriteLinesToFile File="$(DatDir)dlb.lst" Lines="@(DlbList->'%(filename)%(extension)')" Overwrite="true"/>
<Exec Command="&quot;$(ToolsDir)dlb.exe&quot; cIf dlb.lst &quot;$(BinDir)nhdat&quot;" WorkingDirectory="$(DatDir)"/>
<Exec Command="&quot;$(ToolsDir)dlb.exe&quot; cIf dlb.lst &quot;$(BinDir)\nhdat&quot;" WorkingDirectory="$(DatDir)"/>
<Delete Files="$(DatDir)porthelp"/>
</Target>
</Target>
<Target Name="Clean">
<Delete Files="$(BinDir)nhdat$(VERSION_MAJOR)$(VERSION_MINOR)$(PATCHLEVEL)"/>
</Target>

View File

@@ -0,0 +1,129 @@
# NetHack 3.7 package.nmake
#==============================================================================
#
# The version of the game this Makefile was designed for
NETHACK_VERSION="3.7.0"
# A brief variation for use in macros
NHV=$(NETHACK_VERSION:.=)
NHV=$(NHV:"=)
#
# relative directories from root of NetHack tree.
#
#LIBSDIR=lib # libraries and external bits
#SUBMSDIR=submodules # NetHack git submodules
PACKAGESDIR=vspackage # put in vspackage to distinguish
ROOTDIR=..\..\..\.. # root of NetHack tree relative to project file
# Directories we might have to collect things from
#
INCL = $(ROOTDIR)\include # NetHack include files
DAT = $(ROOTDIR)\dat # NetHack data files
DOC = $(ROOTDIR)\doc # NetHack documentation files
UTIL = $(ROOTDIR)\util # Utility source
SRC = $(ROOTDIR)\src # Main source
SSYS = $(ROOTDIR)\sys\share # Shared system files
MSWSYS = $(ROOTDIR)\sys\windows # MS windows specific files
TTY = $(ROOTDIR)\win\tty # window port files (tty)
MSWIN = $(ROOTDIR)\win\win32 # window port files (win32)
WCURSES = $(ROOTDIR)\win\curses # window port files (curses)
WSHR = $(ROOTDIR)\win\share # Tile support files
QT = $(ROOTDIR)\win\Qt # QT support files
X11 = $(ROOTDIR)\win\X11 # X11 support files
LIBDIR = $(ROOTDIR)\lib # libraries and external bits
SUBMDIR = $(ROOTDIR)\submodules # NetHack git submodules
SndWavDir = $(ROOTDIR)\sound\wav # sound files that get integrated
# Directories we might place collected things
#
VSBINDIR=$(ROOTDIR)\vsbinary
VSPACKAGEDIR = $(ROOTDIR)\vspackage
default: packageall
#===============================================================================
# makefile rules
#===============================================================================
# Rules for files in dat
{$(DAT)}.dat{$(VSBINDIR)}.dat:
copy /Y $< $@
#===============================================================================
# packaging
#===============================================================================
PKGFILES=Guidebook.txt license NetHack.exe NetHack.txt \
NetHackW.exe opthelp nhdat370 record symbols.template sysconf.template \
nethackrc.template
FILESTOZIP=$(VSBINDIR)\Guidebook.txt $(VSBINDIR)\license \
$(VSBINDIR)\NetHack.exe $(VSBINDIR)\NetHack.txt $(VSBINDIR)\NetHackW.exe \
$(VSBINDIR)\opthelp $(VSBINDIR)\nhdat370 $(VSBINDIR)\record \
$(VSBINDIR)\symbols.template $(VSBINDIR)\sysconf.template $(VSBINDIR)\nethackrc.template
DBGSYMS = NetHack.PDB NetHackW.PDB
PDBTOZIP = ..\NetHack\symbols\$(Configuration)\$(Platform)\NetHack.PDB \
..\NetHackW\symbols\$(Configuration)\$(Platform)\NetHackW.PDB
MAINZIP = $(VSPACKAGEDIR)\nethack-$(NHV)-win-$(PlatformShortName).zip
DBGSYMZIP = $(VSPACKAGEDIR)\nethack-$(NHV)-win-$(PlatformShortName)-debugsymbols.zip
packageall: packagezip
packagezip: showvar vsbindir vspackagedir $(FILESTOZIP) $(MAINZIP) $(DBGSYMZIP)
@echo NetHack Windows package created: $(MAINZIP)
$(MAINZIP): $(FILESTOZIP)
# if not exist $(VSPACKAGEDIR)\*.* mkdir $(VSPACKAGEDIR)
tar -a -cf $(MAINZIP) -C $(VSBINDIR) $(PKGFILES)
$(DBGSYMZIP): $(PDBTOZIP)
tar -a -cf $(DBGSYMZIP) $(PDBTOZIP)
$(VSBINDIR)\license: $(BinDir)\license
copy /Y $(BinDir)\license $@
$(VSBINDIR)\Guidebook.txt: $(BinDir)\Guidebook.txt
copy /Y $(BinDir)\Guidebook.txt $@
$(VSBINDIR)\NetHack.exe: $(BinDir)\NetHack.exe
copy /Y $(BinDir)\NetHack.exe $@
$(VSBINDIR)\NetHack.txt: $(BinDir)\NetHack.txt
copy /Y $(BinDir)\NetHack.txt $@
$(VSBINDIR)\NetHackW.exe: $(BinDir)\NetHackW.exe
copy /Y $(BinDir)\NetHackW.exe $@
$(VSBINDIR)\opthelp: $(BinDir)\opthelp
copy /Y $(BinDir)\opthelp $@
$(VSBINDIR)\nhdat$(NHV): $(BinDir)\nhdat$(NHV)
copy /Y $(BinDir)\nhdat$(NHV) $@
$(VSBINDIR)\symbols.template: $(BinDir)\symbols.template
copy /Y $(BinDir)\symbols.template $@
$(VSBINDIR)\nethackrc.template: $(BinDir)\nethackrc.template
copy /Y $(BinDir)\nethackrc.template $@
$(VSBINDIR)\sysconf.template: $(BinDir)\sysconf.template
copy /Y $(BinDir)\sysconf.template $@
$(VSBINDIR)\record:
-if not exist $(VSBINDIR)\record. goto>$(VSBINDIR)\record.
showvar:
@echo BinDir=[$(BinDir)]
@echo Platform=[$(Platform)]
@echo PlatformShortName=[$(PlatformShortName)]
@echo Configuration=[$(Configuration)]
vspackagedir:
@if not exist $(VSPACKAGEDIR)\*.* echo creating directory $(VSPACKAGEDIR:\=/)
@if not exist $(VSPACKAGEDIR)\*.* mkdir $(VSPACKAGEDIR)
vsbindir:
@if not exist $(VSBINDIR)\*.* echo creating directory $(VSBINDIR:\=/)
@if not exist $(VSBINDIR)\*.* mkdir $(VSBINDIR)
clean:
# @if exist $(LIBDIR)\$(PDCDIST) rmdir /Q $(LIBDIR)\$(PDCDIST) /s
# @if exist $(LIBDIR)\lua-$(LUA_VERSION) rmdir /Q $(LIBDIR)\lua-$(LUA_VERSION) /s
# @if exist ..\..\..\..\include\nhlua.h del /Q ..\..\..\..\include\nhlua.h
rebuild:
# @if exist $(LIBDIR)\$(PDCDIST) echo nothing to do for lib\$(PDCDIST)
# @if exist $(LIBDIR)\lua-$(LUA_VERSION) echo nothing to do for lib\lua-$(LUA_VERSION)

View File

@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="..\config.props" />
<Import Project="..\dirs.props" />
<PropertyGroup Label="Globals">
<VCProjectVersion>17.0</VCProjectVersion>
<ProjectGuid>{0B53AF9B-E1A4-478B-9246-43A39E8B4027}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup 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>
<NMakeBuildCommandLine>pushd $(vsDir)package %26%26 nmake -F package.nmake BinDir=&quot;$(BinDir)\&quot; Platform=&quot;$(Platform)&quot; PlatformShortName=&quot;$(PlatformShortName)&quot; Configuration=&quot;$(Configuration)&quot; %26%26 popd</NMakeBuildCommandLine>
<NMakeCleanCommandLine>pushd $(vsDir)package %26%26 nmake -F package.nmake clean %26%26 popd</NMakeCleanCommandLine>
<NMakeReBuildCommandLine>pushd $(vsDir)package %26%26 nmake -F package.nmake rebuild %26%26 popd</NMakeReBuildCommandLine>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>