Restructure of mono.sln and build properties to better fix static/dynamic library...
[mono.git] / msvc / libmono-dynamic.vcxproj
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="Debug|x64">\r
9       <Configuration>Debug</Configuration>\r
10       <Platform>x64</Platform>\r
11     </ProjectConfiguration>\r
12     <ProjectConfiguration Include="Release|Win32">\r
13       <Configuration>Release</Configuration>\r
14       <Platform>Win32</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   <PropertyGroup Label="Globals">\r
22     <ProjectGuid>{675F4175-FFB1-480D-AD36-F397578844D4}</ProjectGuid>\r
23     <RootNamespace>libmono-dynamic</RootNamespace>\r
24     <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
25   </PropertyGroup>\r
26   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
27   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
28     <ConfigurationType>DynamicLibrary</ConfigurationType>\r
29     <UseOfMfc>false</UseOfMfc>\r
30     <CharacterSet>Unicode</CharacterSet>\r
31     <PlatformToolset>v140</PlatformToolset>\r
32   </PropertyGroup>\r
33   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
34     <ConfigurationType>DynamicLibrary</ConfigurationType>\r
35     <UseOfMfc>false</UseOfMfc>\r
36     <CharacterSet>Unicode</CharacterSet>\r
37     <PlatformToolset>v140</PlatformToolset>\r
38   </PropertyGroup>\r
39   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
40     <ConfigurationType>DynamicLibrary</ConfigurationType>\r
41     <UseOfMfc>false</UseOfMfc>\r
42     <CharacterSet>Unicode</CharacterSet>\r
43     <PlatformToolset>v140</PlatformToolset>\r
44   </PropertyGroup>\r
45   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
46     <ConfigurationType>DynamicLibrary</ConfigurationType>\r
47     <UseOfMfc>false</UseOfMfc>\r
48     <CharacterSet>Unicode</CharacterSet>\r
49     <PlatformToolset>v140</PlatformToolset>\r
50   </PropertyGroup>\r
51   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
52   <ImportGroup Label="ExtensionSettings">\r
53   </ImportGroup>\r
54   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
55     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
56     <Import Project="mono.props" />\r
57   </ImportGroup>\r
58   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
59     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
60     <Import Project="mono.props" />\r
61   </ImportGroup>\r
62   <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\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 Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\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   <PropertyGroup Label="UserMacros" />\r
71   <PropertyGroup>\r
72     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
73     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">mono-2.0$(MONO_TARGET_SUFFIX)</TargetName>\r
74     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">mono-2.0$(MONO_TARGET_SUFFIX)</TargetName>\r
75     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">mono-2.0$(MONO_TARGET_SUFFIX)</TargetName>\r
76     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">mono-2.0$(MONO_TARGET_SUFFIX)</TargetName>\r
77     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>\r
78     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>\r
79     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>\r
80     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\bin\$(Configuration)\</OutDir>\r
81     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
82     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
83     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
84     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(MONO_BUILD_DIR_PREFIX)$(Platform)\obj\$(ProjectName)$(MONO_TARGET_SUFFIX)\$(Configuration)\</IntDir>\r
85   </PropertyGroup>\r
86   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
87     <LinkIncremental>true</LinkIncremental>\r
88   </PropertyGroup>\r
89   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
90     <LinkIncremental>true</LinkIncremental>\r
91   </PropertyGroup>\r
92   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
93     <PreBuildEvent>\r
94       <Command>\r
95       </Command>\r
96     </PreBuildEvent>\r
97     <ClCompile>\r
98       <AdditionalOptions>/D /NODEFAULTLIB:LIBCD" " %(AdditionalOptions)</AdditionalOptions>\r
99       <Optimization>Disabled</Optimization>\r
100       <AdditionalIncludeDirectories>$(MONO_DIR);$(MONO_INCLUDE_DIR);$(LIBGC_CPPFLAGS_INCLUDE);$(GLIB_CFLAGS_INCLUDE);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
101       <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;$(GC_DEFINES);MONO_DLL_EXPORT;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
102       <PrecompiledHeader>\r
103       </PrecompiledHeader>\r
104       <DisableSpecificWarnings>4996;4018;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
105       <WarningLevel>Level3</WarningLevel>\r
106       <MinimalRebuild>true</MinimalRebuild>\r
107     </ClCompile>\r
108     <ResourceCompile>\r
109       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
110       <Culture>0x0409</Culture>\r
111     </ResourceCompile>\r
112     <ProjectReference>\r
113       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
114     </ProjectReference>\r
115     <Link>\r
116       <AdditionalDependencies Condition="'$(MONO_TARGET_GC)'=='boehm'">$(GC_LIB);%(AdditionalDependencies)</AdditionalDependencies>\r
117       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
118       <ModuleDefinitionFile>\r
119       </ModuleDefinitionFile>\r
120       <DataExecutionPrevention>\r
121       </DataExecutionPrevention>\r
122       <ImportLibrary>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
123     </Link>\r
124     <PostBuildEvent>\r
125       <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>\r
126     </PostBuildEvent>\r
127   </ItemDefinitionGroup>\r
128   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
129     <PreBuildEvent>\r
130       <Command>\r
131       </Command>\r
132     </PreBuildEvent>\r
133     <Midl>\r
134       <TargetEnvironment>X64</TargetEnvironment>\r
135     </Midl>\r
136     <ClCompile>\r
137       <AdditionalOptions>/D /NODEFAULTLIB:LIBCD" " %(AdditionalOptions)</AdditionalOptions>\r
138       <Optimization>Disabled</Optimization>\r
139       <AdditionalIncludeDirectories>$(MONO_DIR);$(MONO_INCLUDE_DIR);$(LIBGC_CPPFLAGS_INCLUDE);$(GLIB_CFLAGS_INCLUDE);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
140       <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;$(GC_DEFINES);MONO_DLL_EXPORT;WIN64;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
141       <PrecompiledHeader>\r
142       </PrecompiledHeader>\r
143       <DisableSpecificWarnings>4996;4018;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
144       <WarningLevel>Level3</WarningLevel>\r
145       <MinimalRebuild>true</MinimalRebuild>\r
146     </ClCompile>\r
147     <ResourceCompile>\r
148       <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
149       <Culture>0x0409</Culture>\r
150     </ResourceCompile>\r
151     <ProjectReference>\r
152       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
153     </ProjectReference>\r
154     <Link>\r
155       <AdditionalDependencies Condition="'$(MONO_TARGET_GC)'=='boehm'">$(GC_LIB);%(AdditionalDependencies)</AdditionalDependencies>\r
156       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
157       <ModuleDefinitionFile>\r
158       </ModuleDefinitionFile>\r
159       <ImportLibrary>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
160     </Link>\r
161     <PostBuildEvent>\r
162       <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>\r
163     </PostBuildEvent>\r
164   </ItemDefinitionGroup>\r
165   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
166     <PreBuildEvent>\r
167       <Command>\r
168       </Command>\r
169     </PreBuildEvent>\r
170     <ClCompile>\r
171       <AdditionalOptions>/D /NODEFAULTLIB:LIBCD" " %(AdditionalOptions)</AdditionalOptions>\r
172       <IntrinsicFunctions>true</IntrinsicFunctions>\r
173       <AdditionalIncludeDirectories>$(MONO_DIR);$(MONO_INCLUDE_DIR);$(LIBGC_CPPFLAGS_INCLUDE);$(GLIB_CFLAGS_INCLUDE);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
174       <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;$(GC_DEFINES);MONO_DLL_EXPORT;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
175       <StringPooling>true</StringPooling>\r
176       <PrecompiledHeader>\r
177       </PrecompiledHeader>\r
178       <WarningLevel>Level3</WarningLevel>\r
179     </ClCompile>\r
180     <ResourceCompile>\r
181       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
182       <Culture>0x0409</Culture>\r
183     </ResourceCompile>\r
184     <ProjectReference />\r
185     <Link>\r
186       <AdditionalDependencies Condition="'$(MONO_TARGET_GC)'=='boehm'">$(GC_LIB);%(AdditionalDependencies)</AdditionalDependencies>\r
187       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
188       <ModuleDefinitionFile>\r
189       </ModuleDefinitionFile>\r
190       <DataExecutionPrevention>\r
191       </DataExecutionPrevention>\r
192       <ImportLibrary>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
193     </Link>\r
194     <PostBuildEvent>\r
195       <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>\r
196     </PostBuildEvent>\r
197     <ProjectReference>\r
198       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
199     </ProjectReference>\r
200   </ItemDefinitionGroup>\r
201   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
202     <PreBuildEvent>\r
203       <Command>\r
204       </Command>\r
205     </PreBuildEvent>\r
206     <Midl>\r
207       <TargetEnvironment>X64</TargetEnvironment>\r
208     </Midl>\r
209     <ClCompile>\r
210       <AdditionalOptions>/D /NODEFAULTLIB:LIBCD" " %(AdditionalOptions)</AdditionalOptions>\r
211       <IntrinsicFunctions>true</IntrinsicFunctions>\r
212       <AdditionalIncludeDirectories>$(MONO_DIR);$(MONO_INCLUDE_DIR);$(LIBGC_CPPFLAGS_INCLUDE);$(GLIB_CFLAGS_INCLUDE);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
213       <PreprocessorDefinitions>WIN32;WIN32_LEAN_AND_MEAN;$(GC_DEFINES);MONO_DLL_EXPORT;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
214       <StringPooling>true</StringPooling>\r
215       <PrecompiledHeader>\r
216       </PrecompiledHeader>\r
217       <WarningLevel>Level3</WarningLevel>\r
218     </ClCompile>\r
219     <ResourceCompile>\r
220       <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
221       <Culture>0x0409</Culture>\r
222     </ResourceCompile>\r
223     <ProjectReference />\r
224     <Link>\r
225       <AdditionalDependencies Condition="'$(MONO_TARGET_GC)'=='boehm'">$(GC_LIB);%(AdditionalDependencies)</AdditionalDependencies>\r
226       <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
227       <ModuleDefinitionFile>\r
228       </ModuleDefinitionFile>\r
229       <ImportLibrary>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
230     </Link>\r
231     <PostBuildEvent>\r
232       <Command>.\libmono.bat "$(MONO_INCLUDE_DIR)" "$(SolutionDir)include\mono" -q</Command>\r
233     </PostBuildEvent>\r
234     <ProjectReference>\r
235       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
236     </ProjectReference>\r
237   </ItemDefinitionGroup>\r
238   <ItemGroup>\r
239     <ProjectReference Include="genmdesc.vcxproj">\r
240       <Project>{b7098dfa-31e6-4006-8a15-1c9a4e925149}</Project>\r
241     </ProjectReference>\r
242     <ProjectReference Include="libgc.vcxproj">\r
243       <Project>{eb56000b-c80b-4e8b-908d-d84d31b517d3}</Project>\r
244     </ProjectReference>\r
245   </ItemGroup>\r
246   <ItemGroup>\r
247     <ClCompile Include="$(MonoSourceLocation)\mono\mini\mini-windows-dllmain.c" />\r
248   </ItemGroup>\r
249   <Import Project="eglib.targets" />\r
250   <Import Project="libmonoutils.targets" />\r
251   <Import Project="libmonoruntime.targets" />\r
252   <Import Project="libmini.targets" />\r
253   <Import Project="libgcmonosgen.targets" />\r
254   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
255   <ImportGroup Label="ExtensionTargets">\r
256   </ImportGroup>\r
257 </Project>