Improve Visual Studio 2015 build.
This commit is contained in:
committed by
Pasi Kallinen
parent
e5dadd525f
commit
98266801b6
2
win/win32/.gitignore
vendored
2
win/win32/.gitignore
vendored
@@ -3,3 +3,5 @@
|
||||
*.ico
|
||||
*.db
|
||||
record
|
||||
*.user
|
||||
|
||||
|
||||
@@ -10,8 +10,6 @@
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PreprocessorDefinitions>WIN32;CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MultiProcessorCompilation>false</MultiProcessorCompilation>
|
||||
<AdditionalOptions>/FS %(AdditionalOptions)</AdditionalOptions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
@@ -27,7 +25,6 @@
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalOptions>/SAFESEH:NO %(AdditionalOptions)</AdditionalOptions>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||
|
||||
@@ -1,7 +1,47 @@
|
||||
Changes made to vs2015 build
|
||||
|
||||
1. allow solution to be used in place
|
||||
Changes
|
||||
1. Removed the use of /FS.
|
||||
2. Allow multi-processor compilation.
|
||||
|
||||
To Do
|
||||
Questions
|
||||
|
||||
1. win\share\tiletxt.c is copied from win\share\tilemap.c ... use tilemap.c instead directly.
|
||||
1. Why is /Gs used? This initiates stack probes for every function call (not just functions that use more then 4k)?
|
||||
2. Why is /Oi- used? This turns off compiler intrinsics.
|
||||
3. Why is /FS used? This forces serialization of writes to PDB. This really isn't needed.
|
||||
4. Why are we disabling optimizations for release builds?
|
||||
5. Why are we omitting frame pointers? Makes debugging harder. Crash dumps less usefull.
|
||||
6. Why are we forcing function level linking?
|
||||
7. Why are we turning off intrinsics (again)?
|
||||
8. Why are we enabling additional security checks? (SDLCheck)
|
||||
9. Why are we using string pooling?
|
||||
10. Why do we turn off multi-processor compilation?
|
||||
|
||||
Nethack Compiler Settings - Release
|
||||
/Gs
|
||||
/Oi-
|
||||
/FS
|
||||
Optimizations:Disabled
|
||||
WarningLevel:Level3
|
||||
InlineFunctionExpansion:Default
|
||||
FavorSizeOrSpeed:Speed
|
||||
OmitFramePointers:true
|
||||
Optimization:MaxSpeed
|
||||
FunctionLevelLinking:true
|
||||
IntrinsicFunctions:false
|
||||
PreprocessorDefinitions:TILES;MSWIN_GRAPHICS;WIN32;WIN32CON;DLB;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;NDEBUG;_CONSOLE;_LIB;
|
||||
SDLCheck:true
|
||||
AdditionalIncludeDirectories:..\win\win32;..\include;..\sys\winnt;..\sys\share;..\win\share;
|
||||
StringPooling:true
|
||||
RuntimeLibrary:MultiThreaded
|
||||
SuppressStartupBanner:true
|
||||
MultiProcessorCompilation:false
|
||||
|
||||
Nethack Link Settings - Release
|
||||
SubSystem:Console
|
||||
GenetateDebugInformation:true
|
||||
EnableCOMDATFolding:true
|
||||
OptimizeReferenes:true
|
||||
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;
|
||||
SuppressStartupBanner:true
|
||||
TargetMachine:MachineX86
|
||||
|
||||
Reference in New Issue
Block a user