Add support for LLVM integrated build as part of Visual Studio solution
[mono-project.git] / msvc / build-init.vcxproj
blob57c90df4c56c67b04931debef4c1bf2517fbc038
1 <?xml version="1.0" encoding="utf-8"?>\r
2 <Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
3   <ItemGroup Label="ProjectConfigurations">\r
4     <ProjectConfiguration Include="Debug|Win32">\r
5       <Configuration>Debug</Configuration>\r
6       <Platform>Win32</Platform>\r
7     </ProjectConfiguration>\r
8     <ProjectConfiguration Include="Release|Win32">\r
9       <Configuration>Release</Configuration>\r
10       <Platform>Win32</Platform>\r
11     </ProjectConfiguration>\r
12     <ProjectConfiguration Include="Debug|x64">\r
13       <Configuration>Debug</Configuration>\r
14       <Platform>x64</Platform>\r
15     </ProjectConfiguration>\r
16     <ProjectConfiguration Include="Release|x64">\r
17       <Configuration>Release</Configuration>\r
18       <Platform>x64</Platform>\r
19     </ProjectConfiguration>\r
20   </ItemGroup>\r
21   <ItemGroup>\r
22     <ClInclude Include="..\config.h" />\r
23     <ClInclude Include="..\winconfig.h" />\r
24   </ItemGroup>\r
25   <PropertyGroup Label="Globals">\r
26     <ProjectGuid>{92AE7622-5F58-4234-9A26-9EC71876B3F4}</ProjectGuid>\r
27     <RootNamespace>buildinit</RootNamespace>\r
28     <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
29   </PropertyGroup>\r
30   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
31   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
32     <ConfigurationType>Utility</ConfigurationType>\r
33     <UseDebugLibraries>true</UseDebugLibraries>\r
34     <PlatformToolset>v140</PlatformToolset>\r
35     <CharacterSet>MultiByte</CharacterSet>\r
36   </PropertyGroup>\r
37   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
38     <ConfigurationType>Utility</ConfigurationType>\r
39     <UseDebugLibraries>false</UseDebugLibraries>\r
40     <PlatformToolset>v140</PlatformToolset>\r
41     <WholeProgramOptimization>true</WholeProgramOptimization>\r
42     <CharacterSet>MultiByte</CharacterSet>\r
43   </PropertyGroup>\r
44   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
45     <ConfigurationType>Utility</ConfigurationType>\r
46     <UseDebugLibraries>true</UseDebugLibraries>\r
47     <PlatformToolset>v140</PlatformToolset>\r
48     <CharacterSet>MultiByte</CharacterSet>\r
49   </PropertyGroup>\r
50   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
51     <ConfigurationType>Utility</ConfigurationType>\r
52     <UseDebugLibraries>false</UseDebugLibraries>\r
53     <PlatformToolset>v140</PlatformToolset>\r
54     <WholeProgramOptimization>true</WholeProgramOptimization>\r
55     <CharacterSet>MultiByte</CharacterSet>\r
56   </PropertyGroup>\r
57   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
58   <ImportGroup Label="ExtensionSettings">\r
59   </ImportGroup>\r
60   <ImportGroup Label="Shared">\r
61   </ImportGroup>\r
62   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
63     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
64     <Import Project="mono.props" />\r
65   </ImportGroup>\r
66   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
67     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
68     <Import Project="mono.props" />\r
69   </ImportGroup>\r
70   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
71     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
72     <Import Project="mono.props" />\r
73   </ImportGroup>\r
74   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
75     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
76     <Import Project="mono.props" />\r
77   </ImportGroup>\r
78   <PropertyGroup Label="UserMacros" />\r
79   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
80     <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\</OutDir>\r
81     <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
82   </PropertyGroup>\r
83   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
84     <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\</OutDir>\r
85     <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
86   </PropertyGroup>\r
87   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
88     <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\</OutDir>\r
89     <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
90   </PropertyGroup>\r
91   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
92     <OutDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\</OutDir>\r
93     <IntDir>$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
94   </PropertyGroup>\r
95   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
96     <ClCompile>\r
97       <WarningLevel>Level3</WarningLevel>\r
98       <Optimization>Disabled</Optimization>\r
99       <SDLCheck>true</SDLCheck>\r
100     </ClCompile>\r
101     <PostBuildEvent>\r
102       <Command>\r
103       </Command>\r
104     </PostBuildEvent>\r
105   </ItemDefinitionGroup>\r
106   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
107     <ClCompile>\r
108       <WarningLevel>Level3</WarningLevel>\r
109       <Optimization>Disabled</Optimization>\r
110       <SDLCheck>true</SDLCheck>\r
111     </ClCompile>\r
112     <PostBuildEvent>\r
113       <Command>\r
114       </Command>\r
115     </PostBuildEvent>\r
116   </ItemDefinitionGroup>\r
117   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
118     <ClCompile>\r
119       <WarningLevel>Level3</WarningLevel>\r
120       <Optimization>MaxSpeed</Optimization>\r
121       <FunctionLevelLinking>true</FunctionLevelLinking>\r
122       <IntrinsicFunctions>true</IntrinsicFunctions>\r
123       <SDLCheck>true</SDLCheck>\r
124     </ClCompile>\r
125     <Link>\r
126       <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
127       <OptimizeReferences>true</OptimizeReferences>\r
128     </Link>\r
129     <PostBuildEvent>\r
130       <Command>\r
131       </Command>\r
132     </PostBuildEvent>\r
133   </ItemDefinitionGroup>\r
134   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
135     <ClCompile>\r
136       <WarningLevel>Level3</WarningLevel>\r
137       <Optimization>MaxSpeed</Optimization>\r
138       <FunctionLevelLinking>true</FunctionLevelLinking>\r
139       <IntrinsicFunctions>true</IntrinsicFunctions>\r
140       <SDLCheck>true</SDLCheck>\r
141     </ClCompile>\r
142     <Link>\r
143       <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
144       <OptimizeReferences>true</OptimizeReferences>\r
145     </Link>\r
146     <PostBuildEvent>\r
147       <Command>\r
148       </Command>\r
149     </PostBuildEvent>\r
150   </ItemDefinitionGroup>\r
151   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
152   <Import Project="mono.external.targets" />\r
153   <ImportGroup Label="ExtensionTargets">\r
154   </ImportGroup>\r
156   <Target Name="AfterBuildWinSetup">\r
157     <PropertyGroup>\r
158       <_OptionalDefines Condition="'$(MONO_ENABLE_BTLS)' == 'true'">$(_OptionalDefines);HAVE_BTLS</_OptionalDefines>\r
159       <_OptionalDefines Condition="'$(MONO_ENABLE_LLVM)' == 'true'">$(_OptionalDefines);ENABLE_LLVM;ENABLE_LLVM_RUNTIME</_OptionalDefines>\r
160       <_OptionalDefines>$(_OptionalDefines.Trim(';'))</_OptionalDefines>\r
161     </PropertyGroup>\r
162     <Exec Command="winsetup.bat &quot;$(_OptionalDefines)&quot;">\r
163       <Output TaskParameter="ExitCode" PropertyName="WinSetupExitCode" />\r
164     </Exec>\r
165     <Error Text="Failed running winsetup.bat" Condition="$(WinSetupExitCode) != 0" />\r
166   </Target>\r
168   <Target Name="AfterBuild" DependsOnTargets="AfterBuildWinSetup" />\r
169 </Project>