Fixes to default build/distribution location.
[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   <PropertyGroup Label="UserMacros">
4     <!-- Change this to custom build tree location to enable out of source tree builds, example c:/mono-build/ -->
5     <MONO_BUILD_DIR_PREFIX>$(MSBuildProjectDirectory)/./build/</MONO_BUILD_DIR_PREFIX>
6     <!-- Change this to custom distribution tree location to enable out of source tree distribution, example c:/mono-dist/ -->
7     <MONO_INSTALL_DIR_PREFIX>$(MSBuildProjectDirectory)/./distribution/</MONO_INSTALL_DIR_PREFIX>
8     <!-- When true, sgen GC will be used. When false, bohem GC will be used. -->
9     <MONO_USE_SGEN>true</MONO_USE_SGEN>
10     <!-- When true, build targets will get a suffix based on used GC. Makes it possible to have builds using different GC's in same build folders, sharing common targets. -->
11     <MONO_USE_TARGET_SUFFIX>true</MONO_USE_TARGET_SUFFIX>
12   </PropertyGroup>
13   <ItemGroup>
14     <BuildMacro Include="MONO_BUILD_DIR_PREFIX">
15       <Value>$(MONO_BUILD_DIR_PREFIX)</Value>
16     </BuildMacro>
17     <BuildMacro Include="MONO_INSTALL_DIR_PREFIX">
18       <Value>$(MONO_INSTALL_DIR_PREFIX)</Value>
19     </BuildMacro>
20     <BuildMacro Include="MONO_USE_SGEN">
21       <Value>$(MONO_USE_SGEN)</Value>
22     </BuildMacro>
23     <BuildMacro Include="MONO_USE_TARGET_SUFFIX">
24       <Value>$(MONO_USE_TARGET_SUFFIX)</Value>
25     </BuildMacro>
26   </ItemGroup>
27   <PropertyGroup Label="MonoDirectories">
28     <top_srcdir>$(MSBuildProjectDirectory)/..</top_srcdir>
29     <MONO_DIR>$(top_srcdir)</MONO_DIR>
30     <MONO_INCLUDE_DIR>$(MONO_DIR)/mono</MONO_INCLUDE_DIR>
31     <MONO_EGLIB_INCLUDE_DIR>$(MONO_DIR)/eglib;$(MONO_DIR)/eglib/include;$(MONO_DIR)/eglib/test</MONO_EGLIB_INCLUDE_DIR>
32     <MONO_EGLIB_SOURCE_DIR>$(MONO_DIR)/eglib/src</MONO_EGLIB_SOURCE_DIR>
33     <MONO_LIBGC_INCLUDE_DIR>$(MONO_DIR)/libgc/include</MONO_LIBGC_INCLUDE_DIR>
34     <MONO_LIBGC_SOURCE_DIR>$(MONO_DIR)/libgc/src</MONO_LIBGC_SOURCE_DIR>
35     <MONO_JIT_INCLUDE_DIR>$(MONO_INCLUDE_DIR)/jit</MONO_JIT_INCLUDE_DIR>
36     <MONO_JIT_SOURCE_DIR>$(MONO_INCLUDE_DIR)/jit</MONO_JIT_SOURCE_DIR>
37     <LIBGC_CPPFLAGS_INCLUDE>$(MONO_LIBGC_INCLUDE_DIR)</LIBGC_CPPFLAGS_INCLUDE>
38     <GLIB_CFLAGS_INCLUDE>$(MONO_EGLIB_SOURCE_DIR)</GLIB_CFLAGS_INCLUDE>
39   </PropertyGroup>
40   <PropertyGroup Label="MonoSGEN" Condition="$(MONO_USE_SGEN)==true">
41     <SGEN_DEFINES>HAVE_SGEN_GC;HAVE_MOVING_COLLECTOR;HAVE_WRITE_BARRIERS</SGEN_DEFINES>
42     <GC_DEFINES>$(SGEN_DEFINES)</GC_DEFINES>
43     <GC_LIB>libgcmonosgen.lib</GC_LIB>
44     <MONO_DEF>monosgen.def</MONO_DEF>
45     <MONO_TARGET_SUFFIX Condition="'$(MONO_USE_TARGET_SUFFIX)'=='true'">-sgen</MONO_TARGET_SUFFIX>
46   </PropertyGroup>
47   <PropertyGroup Label="MonoBOEHM" Condition="$(MONO_USE_SGEN)==false">
48     <BOEHM_DEFINES>HAVE_BOEHM_GC</BOEHM_DEFINES>
49     <GC_DEFINES>$(BOEHM_DEFINES)</GC_DEFINES>
50     <GC_LIB>libgc.lib</GC_LIB>
51     <MONO_DEF>mono.def</MONO_DEF>
52     <MONO_TARGET_SUFFIX Condition="'$(MONO_USE_TARGET_SUFFIX)'=='true'">-boehm</MONO_TARGET_SUFFIX>
53   </PropertyGroup>
54   <PropertyGroup Label="MonoProfiler">
55     <VTUNE_INCLUDE_DIR>$(ProgramFiles)/Intel/VTune Amplifier XE 2013/include</VTUNE_INCLUDE_DIR>
56   </PropertyGroup>
57   <ItemDefinitionGroup>
58     <ClCompile>
59       <DllExportPreprocessorDefinitions>MONO_DLL_EXPORT</DllExportPreprocessorDefinitions>
60       <DllImportPreprocessorDefinitions>MONO_DLL_IMPORT</DllImportPreprocessorDefinitions>
61       <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);</PreprocessorDefinitions>
62       <DisableSpecificWarnings>4273;4005</DisableSpecificWarnings>
63     </ClCompile>
64     <Link>
65       <AdditionalDependencies>Mswsock.lib;ws2_32.lib;ole32.lib;oleaut32.lib;psapi.lib;version.lib;advapi32.lib;winmm.lib;kernel32.lib;%(AdditionalDependencies)</AdditionalDependencies>
66       <AdditionalLibraryDirectories>$(MONO_BUILD_DIR_PREFIX)$(Platform)/lib/$(Configuration)</AdditionalLibraryDirectories>
67     </Link>
68   </ItemDefinitionGroup>
69 </Project>