summaryrefslogtreecommitdiff
path: root/cpp/msbuild/icebuilder.cpp.props
blob: ab64a5366d43d92bfa9fbc566850513f4c2e024c (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
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <!--
      This property file is included by Ice Builder when building
      C++ projects
  -->

  <!--
      Guess the Configuration for C++ builds
  -->
  <PropertyGroup Condition="'$(UseDebugLibraries)' == 'true'">
    <IceConfiguration>Debug</IceConfiguration>
  </PropertyGroup>

  <PropertyGroup Condition="'$(UseDebugLibraries)' != 'true'">
    <IceConfiguration>Release</IceConfiguration>
  </PropertyGroup>

  <!--
      Guess the Platform for C++ builds
  -->
  <PropertyGroup Condition="'$(Platform)'=='Win32'">
    <Ice_Platform>Win32</Ice_Platform>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Platform)'=='x64'">
    <Ice_Platform>x64</Ice_Platform>
  </PropertyGroup>

  <!--
      When building UWP ARM we use the Win32 Slice compilers
  -->
  <PropertyGroup Condition="'$(Platform)'=='ARM'">
    <Ice_Platform>Win32</Ice_Platform>
  </PropertyGroup>

  <!--
      C++98 is the default mapping
  -->
  <PropertyGroup Condition="'$(IceCppMapping)' == ''">
    <IceCppMapping>cpp98</IceCppMapping>
  </PropertyGroup>

  <!--
      IceBinPath:

        This variable points to the Ice binary directory used by the current
        build, it depends on the Platform and Configuration of the project.

      IceLibraryPath:

        This variable points to the Ice library directory used by the current
        build, it depends on the Platform and Configuration of the project.

      IceIncludePath:

        This variable contains the Ice header search path for the current build,
        for source builds that depends on the Platform, Configuration and Cpp
        mapping being used.

      IceToolsPath:

        This variable points to the directory containing the Slice compilers used
        by the current build.
  -->
  <PropertyGroup>
    <IceBinPath>$(IceHome)\cpp\bin\$(Platform)\$(IceConfiguration)</IceBinPath>
    <IceLibraryPath>$(IceHome)\cpp\lib\$(Platform)\$(IceConfiguration)</IceLibraryPath>
    <IceIncludePath>$(IceHome)\cpp\include;$(IceHome)\cpp\include\generated\$(IceCppMapping)\$(Platform)\$(IceConfiguration)</IceIncludePath>
    <IceToolsPath>$(IceHome)\cpp\bin\$(Ice_Platform)\$(IceConfiguration)</IceToolsPath>
    <Path>$(IceBinPath);$(Path)</Path>
  </PropertyGroup>

  <!--
      Configure C++ include and library search paths using the variables defined above.
  -->
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalIncludeDirectories>$(IceIncludePath);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
    </ClCompile>
    <Link>
      <AdditionalLibraryDirectories>$(IceLibraryPath);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
    </Link>
  </ItemDefinitionGroup>
</Project>