summaryrefslogtreecommitdiff
path: root/Source/VSProps/Base.props
blob: 9580e01139c4006c01ea225c4b182aad02ac91cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ImportGroup Label="PropertySheets" />
  <PropertyGroup Label="UserMacros">
    <DolphinRelease Condition="'$(DolphinRelease)'!='true' or '$(Configuration)'!='Release'">false</DolphinRelease>
    <TargetSuffix>
    </TargetSuffix>
    <TargetSuffix Condition="'$(Configuration)'=='Debug'">D</TargetSuffix>
    <BuildRootDir>$(SolutionDir)..\Build\</BuildRootDir>
    <BinaryRootDir>$(SolutionDir)..\Binary\</BinaryRootDir>
    <BinaryOutputDir>$(BinaryRootDir)$(Platform)\</BinaryOutputDir>
    <ExternalsDir>$(SolutionDir)..\Externals\</ExternalsDir>
    <CoreDir>$(SolutionDir)Core\</CoreDir>
  </PropertyGroup>
  <PropertyGroup>
    <!--
    Opt-in to x64 compiler and tools.
    Unfortunately we can't set this property here, as it'll be overridden later. Instead, set it
    from commandline if you're interested in using x64 toolset
    <PreferredToolArchitecture>x64</PreferredToolArchitecture>
    -->
    <IntDir>$(BuildRootDir)$(Platform)\$(Configuration)\$(ProjectName)\</IntDir>
    <OutDir>$(IntDir)bin\</OutDir>
    <TargetName Condition="'$(ConfigurationType)'=='Application'">$(ProjectName)$(TargetSuffix)</TargetName>
  </PropertyGroup>
  <ItemDefinitionGroup>
    <!--ClCompile Base-->
    <ClCompile>
      <!--
      Coagulate all the needed include directories.
      Order matters! (first hit, first use).
        Note: Directory containing source file being compiled is always searched first.
      -->
      <AdditionalIncludeDirectories>$(CoreDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)Bochs_disasm;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)GL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)libpng;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)libusbx\libusb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)LZO;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)miniupnpc\src;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)polarssl\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)portaudio\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)SDL2-2.0.1\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)SFML\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)SOIL;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)wxWidgets3;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)wxWidgets3\Include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <AdditionalIncludeDirectories>$(ExternalsDir)zlib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
      <!--Allow compile-time testing of whether DXSDK (aka DX before integration into VS) is present-->
      <PreprocessorDefinitions Condition="Exists('$(DXSDK_DIR)')">HAVE_DXSDK;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <PreprocessorDefinitions>USE_UPNP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <WarningLevel>Level3</WarningLevel>
      <IntrinsicFunctions>true</IntrinsicFunctions>
      <StructMemberAlignment>16Bytes</StructMemberAlignment>
      <RuntimeTypeInfo>false</RuntimeTypeInfo>
      <MinimalRebuild>false</MinimalRebuild>
      <MultiProcessorCompilation>true</MultiProcessorCompilation>
      <AdditionalOptions>/d2Zi+ /volatile:iso /D PSAPI_VERSION=1 /D _M_X86=1 %(AdditionalOptions)</AdditionalOptions>
      <AdditionalOptions Condition="'$(Platform)'=='x64'">/D _ARCH_64=1 /D _M_X86_64=1 %(AdditionalOptions)</AdditionalOptions>
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
      <!--
      This is for GetVersionEx being marked as depreciated - which is idiotic and there's
      not much else we can do since many externals use it. The bad part is that there doesn't
      seem to be a way to only ignore the specific instance we don't care about...
      -->
      <DisableSpecificWarnings>4996</DisableSpecificWarnings>
      <OpenMPSupport>true</OpenMPSupport>
    </ClCompile>
    <!--ClCompile Base:StaticLibrary-->
    <ClCompile Condition="'$(ConfigurationType)'=='StaticLibrary'">
      <PreprocessorDefinitions>_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <!--ClCompile Debug-->
    <ClCompile Condition="'$(Configuration)'=='Debug'">
      <FunctionLevelLinking>true</FunctionLevelLinking>
      <PreprocessorDefinitions>_DEBUG;_SECURE_SCL=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
      <Optimization>Disabled</Optimization>
    </ClCompile>
    <!--ClCompile Release-->
    <ClCompile Condition="'$(Configuration)'=='Release'">
      <WholeProgramOptimization Condition="'$(DolphinRelease)'=='true'">true</WholeProgramOptimization>
      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
      <OmitFramePointers>true</OmitFramePointers>
      <EnableFiberSafeOptimizations>true</EnableFiberSafeOptimizations>
      <StringPooling>true</StringPooling>
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
      <BufferSecurityCheck>false</BufferSecurityCheck>
      <FunctionLevelLinking>false</FunctionLevelLinking>
      <PreprocessorDefinitions>_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
    </ClCompile>
    <!--Link Base-->
    <Link>
      <GenerateDebugInformation>true</GenerateDebugInformation>
      <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
    </Link>
    <!--Link Release-->
    <Link Condition="'$(Configuration)'=='Release'">
      <LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
      <OptimizeReferences>true</OptimizeReferences>
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
    </Link>
    <!--Link Base:Application-->
    <Link Condition="'$(ConfigurationType)'=='Application'">
      <!--See Common/EnableXSaveWorkaround.cpp-->
      <ForceSymbolReferences>XSaveWorkaround</ForceSymbolReferences>
    </Link>
    <Lib>
      <TreatLibWarningAsErrors>true</TreatLibWarningAsErrors>
      <LinkTimeCodeGeneration Condition="'$(DolphinRelease)'=='true'">true</LinkTimeCodeGeneration>
    </Lib>
  </ItemDefinitionGroup>
  <ItemGroup />
</Project>