Improvements to build.bat scripts used to build Windows builds. Remove CRT Secure warnings.

This commit is contained in:
Bart House
2017-09-05 13:14:13 +03:00
committed by Pasi Kallinen
parent 056ac5fe64
commit 70ac8a12af
4 changed files with 109 additions and 20 deletions
+23 -14
View File
@@ -21,6 +21,10 @@ tty and graphical win32 versions of NetHack 3.6.1.
You can build a TTY version of NetHack and a Windows Graphical You can build a TTY version of NetHack and a Windows Graphical
version. You can use one of the following build environments: version. You can use one of the following build environments:
o A copy of Microsoft Visual Studio 2017 Express
OR
o A copy of Microsoft Visual Studio 2015 Express o A copy of Microsoft Visual Studio 2015 Express
OR OR
@@ -46,31 +50,36 @@ that allow you to build the Windows Graphical version from Microsoft
Visual C's IDE (Integrated Development Environment.) Visual C's IDE (Integrated Development Environment.)
/--------------------------------------------------------\ /--------------------------------------------------------\
| Building And Running Using Visual Studio 2015 | | Building And Running Using Visual Studio 2015 or |
| Visual Studio 2017 |
\--------------------------------------------------------/ \--------------------------------------------------------/
If you are NOT using Visual Studio 2015, proceed to "FIRST STEP - If you are NOT using Visual Studio 2015 or Visual Studio 2017, proceed
MOVING THINGS AROUND". to "FIRST STEP - MOVING THINGS AROUND".
When using Visual Studio 2015, you do not need to move things around. When using either Visual Studio 2015 or Visual Studio 2017, you do not
You simply need to load the Visual Studio 2015 NetHack solution file need to move things around. You simply need to load the solution file
within the IDE, build the solution and run the version of NetHack within the IDE, build the solution and run the version of NetHack
you wish to run. you wish to run.
The Visual Studio 2015 NetHack solution file can be found here: The Visual Studio 2015 NetHack solution file can be found here:
win\win32\vs2015\NetHack.sln win\win32\vs2015\NetHack.sln
From a command prompt, you can launch and load this solution file by: The Visual Studio 2017 NetHack solution file can be found here:
start win\win32\vs2015\NetHack.sln win\win32\vs2017\NetHack.sln
From within the IDE: So the steps are:
1. select the build configuration you wish to use. 1. Launch the IDE.
2. from build menu, select build solution. 2. Open the appropriate solution file.
3. type F5 to start debugging. 3. Select the build configuration you wish to use.
4. From build menu, select build solution.
5. Type F5 to start debugging.
You can build all the projects for all platforms and configurations You can also build all the projects for all platforms and configurations
using a Visual Studio MSBuild command prompt. Open the MSBuild command using a "build.bat" batch file found in the same directory as the solution.
prompt, change directory to win\win32\vs2015 and run "build.bat".
Change to the appropriate directory (i.e. win\win32\vs2015 for VS2015 builds)
and run "build.bat".
/-----------------------------------\ /-----------------------------------\
| FIRST STEP - MOVING THINGS AROUND | | FIRST STEP - MOVING THINGS AROUND |
+40
View File
@@ -1,4 +1,44 @@
@echo off
if "%VisualStudioVersion%"=="" (
echo MSBuild environment not set ... attempting to setup build environment.
call :setup_environment
)
if "%VisualStudioVersion%"=="" (
echo Unable to setup build environment. Exiting.
goto :EOF
)
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=Win32 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=Win32
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=x64 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=x64
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=Win32 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=Win32
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=x64 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=x64
goto :EOF
:setup_environment
if "%VS140COMNTOOLS%"=="" (
call :set_vs14comntools
)
if "%VS140COMNTOOLS%"=="" (
echo Can not find Visual Studio 2015 Common Tools path.
echo Set VS140COMNTOOLS appropriately.
goto :EOF
)
call "%VS140COMNTOOLS%VsMSBuildCmd.bat"
cd %~dp0
goto :EOF
:set_vs14comntools
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools" (
set "VS140COMNTOOLS=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Common7\Tools\"
)
goto :EOF
+40
View File
@@ -1,4 +1,44 @@
@echo off
if "%VSCMD_VER%"=="" (
echo MSBuild environment not set ... attempting to setup build environment.
call :setup_environment
)
if "%VSCMD_VER%"=="" (
echo Unable to setup build environment. Exiting.
goto :EOF
)
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=Win32 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=Win32
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=x64 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Debug;Platform=x64
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=Win32 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=Win32
msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=x64 msbuild NetHack.sln /t:Clean;Build /p:Configuration=Release;Platform=x64
goto :EOF
:setup_environment
if "%VS150COMNTOOLS%"=="" (
call :set_vs15comntools
)
if "%VS150COMNTOOLS%"=="" (
echo Can not find Visual Studio 2017 Common Tools path.
echo Set VS150COMNTOOLS appropriately.
goto :EOF
)
call "%VS150COMNTOOLS%VsMSBuildCmd.bat"
cd %~dp0
goto :EOF
:set_vs15comntools
if exist "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\Tools" (
set "VS150COMNTOOLS=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\Common7\Tools\"
)
goto :EOF
+1 -1
View File
@@ -9,7 +9,7 @@
<ItemDefinitionGroup> <ItemDefinitionGroup>
<ClCompile> <ClCompile>
<WarningLevel>Level3</WarningLevel> <WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>WIN32;CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile> </ClCompile>
<Link> <Link>
<SubSystem>Console</SubSystem> <SubSystem>Console</SubSystem>