Enable building tests in MSVC 2013

This commit is contained in:
2017-09-16 12:46:31 -04:00
parent 477f6618fd
commit 9127e4a03f
11 changed files with 267 additions and 6 deletions

View File

@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0
VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Blades of Exile", "Game\Blades of Exile.vcxproj", "{A0C19353-478B-4F21-9FE3-FA8EE4D15147}"
ProjectSection(ProjectDependencies) = postProject
@@ -27,6 +27,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Installer", "Installer\Inst
{87C53CC0-ED7A-4BF8-8844-FCA34401C1CA} = {87C53CC0-ED7A-4BF8-8844-FCA34401C1CA}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "OBoE Tests", "OBoE Tests\OBoE Tests.vcxproj", "{6152336C-C003-4BAF-BC96-11B25A8954FC}"
ProjectSection(ProjectDependencies) = postProject
{1347FE79-73BD-4176-9280-0FE39E3534E2} = {1347FE79-73BD-4176-9280-0FE39E3534E2}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Mixed Platforms = Debug|Mixed Platforms
@@ -96,6 +101,18 @@ Global
{59E9014C-BEC0-45BA-B75C-B36F6B05A810}.Release|Win32.Build.0 = Release|Win32
{59E9014C-BEC0-45BA-B75C-B36F6B05A810}.Release|x86.ActiveCfg = Release|Win32
{59E9014C-BEC0-45BA-B75C-B36F6B05A810}.Release|x86.Build.0 = Release|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Debug|Mixed Platforms.Build.0 = Debug|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Debug|Win32.ActiveCfg = Debug|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Debug|Win32.Build.0 = Debug|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Debug|x86.ActiveCfg = Debug|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Debug|x86.Build.0 = Debug|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Release|Mixed Platforms.ActiveCfg = Release|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Release|Mixed Platforms.Build.0 = Release|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Release|Win32.ActiveCfg = Release|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Release|Win32.Build.0 = Release|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Release|x86.ActiveCfg = Release|Win32
{6152336C-C003-4BAF-BC96-11B25A8954FC}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" 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>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{6152336C-C003-4BAF-BC96-11B25A8954FC}</ProjectGuid>
<RootNamespace>OBoETests</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v120</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup />
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<SDLCheck>true</SDLCheck>
<ForcedIncludeFiles>global.hpp</ForcedIncludeFiles>
<AdditionalIncludeDirectories>..\..\universe;..\..\tools;..\..\scenario;..\..\gfx;..\..\fileio\resmgr;..\..\fileio\xml-parser;..\..\fileio\gzstream;..\..\fileio;..\..\dialogxml\widgets;..\..\dialogxml\dialogs;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;TIXML_USE_TICPP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4800;4290;4244;4996;4018</DisableSpecificWarnings>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalDependencies>opengl32.lib;sfml-system-d.lib;sfml-window-d.lib;sfml-graphics-d.lib;sfml-audio-d.lib;libboost_filesystem-vc120-mt-gd-*.lib;libboost_system-vc120-mt-gd-*.lib;libboost_thread-vc120-mt-gd-*.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>..\..\universe;..\..\tools;..\..\scenario;..\..\gfx;..\..\fileio\resmgr;..\..\fileio\xml-parser;..\..\fileio\gzstream;..\..\fileio;..\..\dialogxml\widgets;..\..\dialogxml\dialogs;..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<ForcedIncludeFiles>global.hpp</ForcedIncludeFiles>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;TIXML_USE_TICPP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DisableSpecificWarnings>4800;4290;4244;4996;4018</DisableSpecificWarnings>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>opengl32.lib;sfml-system.lib;sfml-window.lib;sfml-graphics.lib;sfml-audio.lib;libboost_filesystem-vc120-mt-*.lib;libboost_system-vc120-mt-*.lib;libboost_thread-vc120-mt-*.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\test\catch.cpp" />
<ClCompile Include="..\..\..\test\enums.cpp" />
<ClCompile Include="..\..\..\test\init.cpp" />
<ClCompile Include="..\..\..\test\item_legacy.cpp" />
<ClCompile Include="..\..\..\test\item_read.cpp" />
<ClCompile Include="..\..\..\test\item_write.cpp" />
<ClCompile Include="..\..\..\test\map_read.cpp" />
<ClCompile Include="..\..\..\test\map_write.cpp" />
<ClCompile Include="..\..\..\test\monst_legacy.cpp" />
<ClCompile Include="..\..\..\test\monst_read.cpp" />
<ClCompile Include="..\..\..\test\monst_write.cpp" />
<ClCompile Include="..\..\..\test\out_legacy.cpp" />
<ClCompile Include="..\..\..\test\out_read.cpp" />
<ClCompile Include="..\..\..\test\out_write.cpp" />
<ClCompile Include="..\..\..\test\pc_read.cpp" />
<ClCompile Include="..\..\..\test\scen_legacy.cpp" />
<ClCompile Include="..\..\..\test\scen_read.cpp" />
<ClCompile Include="..\..\..\test\scen_write.cpp" />
<ClCompile Include="..\..\..\test\spec_legacy.cpp" />
<ClCompile Include="..\..\..\test\talk_legacy.cpp" />
<ClCompile Include="..\..\..\test\talk_read.cpp" />
<ClCompile Include="..\..\..\test\talk_write.cpp" />
<ClCompile Include="..\..\..\test\ter_legacy.cpp" />
<ClCompile Include="..\..\..\test\ter_read.cpp" />
<ClCompile Include="..\..\..\test\ter_write.cpp" />
<ClCompile Include="..\..\..\test\town_legacy.cpp" />
<ClCompile Include="..\..\..\test\town_read.cpp" />
<ClCompile Include="..\..\..\test\town_write.cpp" />
<ClCompile Include="..\..\scenedit\scen.fileio.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\test\catch.hpp" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Common\Common.vcxproj">
<Project>{1347fe79-73bd-4176-9280-0fe39e3534e2}</Project>
<Private>false</Private>
<ReferenceOutputAssembly>true</ReferenceOutputAssembly>
<CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
<LinkLibraryDependencies>true</LinkLibraryDependencies>
<UseLibraryDependencyInputs>true</UseLibraryDependencyInputs>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@@ -0,0 +1,107 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\..\test\pc_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\scen_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\scen_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\scen_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\spec_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\talk_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\talk_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\talk_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\ter_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\ter_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\ter_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\town_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\town_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\town_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\enums.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\init.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\item_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\item_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\item_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\map_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\map_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\monst_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\monst_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\monst_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\out_legacy.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\out_read.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\out_write.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\..\test\catch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\scenedit\scen.fileio.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\..\test\catch.hpp">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -7,8 +7,12 @@
//
#ifndef __APPLE__
#error qdpict.cpp uses Apple APIs at the moment; try omitting it from the build
#ifdef _MSC_VER
#pragma message("qdpict.cpp uses Apple APIs at the moment; try omitting it from the build")
#else
#warning qdpict.cpp uses Apple APIs at the moment; try omitting it from the build
#endif
#else
// TODO: Don't use the resource manager
#include <CoreServices/CoreServices.h>
@@ -509,3 +513,4 @@ bool tryLoadPictFromResourceFile(fs::path& gpath, sf::Image& graphics_store) {
if(data != nullptr) delete[] data;
return true;
}
#endif

View File

@@ -16,6 +16,7 @@ typedef signed short spec_num_t;
typedef signed short item_num_t;
typedef unsigned short str_num_t;
typedef signed short pic_num_t;
typedef signed int snd_num_t;
// OBoE Current Version
const unsigned long long OBOE_CURRENT_VERSION = 0x020000; // MMmmff; M - major, m - minor, f - bugfix

View File

@@ -14,10 +14,9 @@
#include <array>
#include <iosfwd>
#include "sounds.hpp"
#include "living.hpp"
#include "monster_abilities.hpp"
#include "race.hpp"
#include "location.hpp"
namespace legacy {
struct monster_record_type;

View File

@@ -12,8 +12,9 @@
#include <iosfwd>
#include <array>
#include <boost/filesystem/path.hpp>
#include "terrain.hpp"
#include "monster.hpp"
// For reasons unknown, putting terrain above monster breaks the tests build in MSVC 2013
#include "terrain.hpp"
#include "vehicle.hpp"
#include "item.hpp"
#include "special.hpp"

View File

@@ -11,7 +11,6 @@
#include <SFML/Audio.hpp>
typedef signed int snd_num_t;
void init_snd_tool();
bool sound_going(snd_num_t which_s);
void play_sound(short which, sf::Time delay = sf::Time());

View File

@@ -17,6 +17,7 @@
#include "oldstructs.hpp"
#include "mathutil.hpp"
#include "fileio.hpp"
#include "sounds.hpp"
extern short skill_bonus[21];
// A nice convenient bitset with just the low 30 bits set, for initializing spells