Better property manager and user macros support.
[mono.git] / msvc / mono.props
1 <?xml version="1.0" encoding="utf-8"?>
2 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3   <ItemGroup>
4     <BuildMacro Include="MONO_BUILD_DIR_PREFIX">
5       <Value>$(MONO_BUILD_DIR_PREFIX)</Value>
6       <EnvironmentVariable>true</EnvironmentVariable>
7     </BuildMacro>
8     <BuildMacro Include="MONO_INSTALL_DIR_PREFIX">
9       <Value>$(MONO_INSTALL_DIR_PREFIX)</Value>
10       <EnvironmentVariable>true</EnvironmentVariable>
11     </BuildMacro>
12     <BuildMacro Include="MONO_USE_SGEN">
13       <Value>$(MONO_USE_SGEN)</Value>
14       <EnvironmentVariable>true</EnvironmentVariable>
15     </BuildMacro>
16   </ItemGroup>
17   <PropertyGroup Label="UserMacros">
18     <MONO_BUILD_DIR_PREFIX>c:\mono-build\</MONO_BUILD_DIR_PREFIX>
19     <MONO_INSTALL_DIR_PREFIX>c:\mono-dist\</MONO_INSTALL_DIR_PREFIX>
20     <MONO_USE_SGEN>true</MONO_USE_SGEN>
21   </PropertyGroup>
22   <PropertyGroup Label="MonoDirectories">
23     <top_srcdir>$(MSBuildProjectDirectory)\..</top_srcdir>
24     <MONO_DIR>$(top_srcdir)</MONO_DIR>
25     <MONO_INCLUDE_DIR>$(MONO_DIR)\mono</MONO_INCLUDE_DIR>
26     <MONO_EGLIB_INCLUDE_DIR>$(MONO_DIR)\eglib;$(MONO_DIR)\eglib\include;$(MONO_DIR)\eglib\test</MONO_EGLIB_INCLUDE_DIR>
27     <MONO_EGLIB_SOURCE_DIR>$(MONO_DIR)\eglib\src</MONO_EGLIB_SOURCE_DIR>
28     <MONO_LIBGC_INCLUDE_DIR>$(MONO_DIR)\libgc\include</MONO_LIBGC_INCLUDE_DIR>
29     <MONO_LIBGC_SOURCE_DIR>$(MONO_DIR)\libgc\src</MONO_LIBGC_SOURCE_DIR>
30     <MONO_JIT_INCLUDE_DIR>$(MONO_INCLUDE_DIR)\jit</MONO_JIT_INCLUDE_DIR>
31     <MONO_JIT_SOURCE_DIR>$(MONO_INCLUDE_DIR)\jit</MONO_JIT_SOURCE_DIR>
32     <LIBGC_CPPFLAGS_INCLUDE>$(MONO_LIBGC_INCLUDE_DIR)</LIBGC_CPPFLAGS_INCLUDE>
33     <GLIB_CFLAGS_INCLUDE>$(MONO_EGLIB_SOURCE_DIR)</GLIB_CFLAGS_INCLUDE>
34   </PropertyGroup>
35   <PropertyGroup Label="MonoSGEN" Condition="$(MONO_USE_SGEN)==true">
36     <SGEN_DEFINES>HAVE_SGEN_GC;HAVE_MOVING_COLLECTOR;HAVE_WRITE_BARRIERS</SGEN_DEFINES>
37     <GC_DEFINES>$(SGEN_DEFINES)</GC_DEFINES>
38     <GC_LIB>libgcmonosgen.lib</GC_LIB>
39     <MONO_DEF>monosgen.def</MONO_DEF>
40     <MONO_TARGET_SUFFIX>-sgen</MONO_TARGET_SUFFIX>
41   </PropertyGroup>
42   <PropertyGroup Label="MonoBOEHM" Condition="$(MONO_USE_SGEN)==false">
43     <BOEHM_DEFINES>HAVE_BOEHM_GC</BOEHM_DEFINES>
44     <GC_DEFINES>$(HAVE_BOEHM_GC)</GC_DEFINES>
45     <GC_LIB>libgc.lib</GC_LIB>
46     <MONO_DEF>mono.def</MONO_DEF>
47     <MONO_TARGET_SUFFIX>-boehm</MONO_TARGET_SUFFIX>
48   </PropertyGroup>
49   <PropertyGroup Label="MonoProfiler">
50     <VTUNE_INCLUDE_DIR>$(ProgramFiles)\Intel\VTune Amplifier XE 2013\include</VTUNE_INCLUDE_DIR>
51   </PropertyGroup>
52   <ItemDefinitionGroup>
53     <ClCompile>
54       <DllExportPreprocessorDefinitions>MONO_DLL_EXPORT</DllExportPreprocessorDefinitions>
55       <DllImportPreprocessorDefinitions>MONO_DLL_IMPORT</DllImportPreprocessorDefinitions>
56       <PreprocessorDefinitions>__default_codegen__;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;HAVE_CONFIG_H;GC_NOT_DLL;WIN32_THREADS;WINVER=0x0600;_WIN32_WINNT=0x0600;_WIN32_IE=0x0501;_UNICODE;UNICODE;FD_SETSIZE=1024;%(PreprocessorDefinitions);_WINSOCKAPI_</PreprocessorDefinitions>
57       <DisableSpecificWarnings>4273;4005</DisableSpecificWarnings>
58     </ClCompile>
59     <Link>
60       <AdditionalDependencies>Mswsock.lib;ws2_32.lib;ole32.lib;oleaut32.lib;psapi.lib;version.lib;advapi32.lib;winmm.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
61       <AdditionalLibraryDirectories>$(MONO_BUILD_DIR_PREFIX)$(Platform)\lib\$(Configuration)</AdditionalLibraryDirectories>
62     </Link>
63   </ItemDefinitionGroup>
64 </Project>