summaryrefslogtreecommitdiff
path: root/matlab/msbuild/ice.proj
blob: fac1a932e91e40cd5587c80bbce6271cec8de3c9 (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
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

 <PropertyGroup>
    <Platform Condition="'$(Platform)' == ''">Win32</Platform>
    <Configuration Condition="'$(Configuration)' == ''">Release</Configuration>
    <MexCompilerFlags Condition="'$(Configuration)' == 'Debug'">-g COMPFLAGS=&quot;/MDd /EHsc&quot;</MexCompilerFlags>
    <MexCompilerFlags Condition="'$(Configuration)' == 'Release'">COMPFLAGS=&quot;/MD /EHsc&quot;</MexCompilerFlags>
    <DebugExt Condition="'$(Configuration)' == 'Debug'">d</DebugExt>
  </PropertyGroup>

  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
  <Import Project="$(MSBuildThisFileDirectory)\..\..\config\ice.common.targets"/>

  <PropertyGroup>
    <topSrcDir>$(MSBuildThisFileDirectory)..\..</topSrcDir>
    <sliceDir>$(topSrcDir)\slice</sliceDir>
    <srcDir>$(MSBuildThisFileDirectory)..\src\IceMatlab</srcDir>
    <testDir>$(MSBuildThisFileDirectory)..\test</testDir>
    <slice2matlabexe>$(topSrcDir)\cpp\bin\$(Platform)\$(Configuration)\slice2matlab</slice2matlabexe>
    <slice2matlab Condition="'$(DefaultPlatformToolset)' == 'v140'">c++98\slice2matlab</slice2matlab>
    <cpp11core Condition="'$(DefaultPlatformToolset)' == 'v140'">c++11\ice++11</cpp11core>
  </PropertyGroup>

  <ItemGroup>
        <Slice Include="$(sliceDir)\Ice\Communicator.ice" />
        <Slice Include="$(sliceDir)\Ice\Connection.ice" />
        <Slice Include="$(sliceDir)\Ice\Current.ice" />
        <Slice Include="$(sliceDir)\Ice\Endpoint.ice" />
        <Slice Include="$(sliceDir)\Ice\EndpointTypes.ice" />
        <Slice Include="$(sliceDir)\Ice\Identity.ice" />
        <Slice Include="$(sliceDir)\Ice\LocalException.ice" />
        <Slice Include="$(sliceDir)\Ice\Locator.ice" />
        <Slice Include="$(sliceDir)\Ice\Router.ice" />
        <Slice Include="$(sliceDir)\Ice\SliceChecksumDict.ice" />
        <Slice Include="$(sliceDir)\Ice\ValueFactory.ice" />
        <Slice Include="$(sliceDir)\Ice\Version.ice" />
  </ItemGroup>

  <Target Name="CppPrereqs">
    <MSBuild Projects="$(topSrcDir)\cpp\msbuild\ice.proj"
             Targets="NuGetRestore"
             BuildInParallel="false"/>

    <MSBuild Projects="$(topSrcDir)\cpp\msbuild\ice.$(DefaultPlatformToolset).sln"
             Targets="$(slice2matlab);$(cpp11core)"
             BuildInParallel="false"
             Properties="Platform=$(Platform);Configuration=$(Configuration)"/>
  </Target>

  <Target Name="Build" DependsOnTargets="CppPrereqs">
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(MSBuildThisFileDirectory)..\lib\generated %(Slice.FullPath)"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\acm\generated $(testDir)\Ice\acm\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\ami\generated $(testDir)\Ice\ami\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\binding\generated $(testDir)\Ice\binding\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\checksum\generated --checksum test.Ice.checksum.Test.SliceChecksums $(testDir)\Ice\checksum\Test.ice $(testDir)\Ice\checksum\Types.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\defaultValue\generated $(testDir)\Ice\defaultValue\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\exceptions\generated $(testDir)\Ice\exceptions\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\enums\generated $(testDir)\Ice\enums\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\facets\generated $(testDir)\Ice\facets\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\info\generated $(testDir)\Ice\info\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\inheritance\generated $(testDir)\Ice\inheritance\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\objects\generated $(testDir)\Ice\objects\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\objects\generated $(testDir)\Ice\objects\LocalTest.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\operations\generated $(testDir)\Ice\operations\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\optional\generated $(testDir)\Ice\optional\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) -I$(testDir)\Ice\optional --output-dir $(testDir)\Ice\optional\generated $(testDir)\Ice\optional\ClientPrivate.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\proxy\generated $(testDir)\Ice\proxy\Test.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\slicing\exceptions\generated $(testDir)\Ice\slicing\exceptions\ClientPrivate.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\slicing\objects\generated $(testDir)\Ice\slicing\objects\ClientPrivate.ice"/>
        <Exec Command="$(slice2matlabexe) -I$(sliceDir) --output-dir $(testDir)\Ice\timeout\generated $(testDir)\Ice\timeout\Test.ice"/>
        <Exec Command="mex -v -outdir $(srcDir) -output icematlab $(MexCompilerFlags) -I$(topSrcDir)\cpp\include -I$(topSrcDir)\cpp\include\generated\cpp11\$(Platform)\$(Configuration) -DICE_CPP11_MAPPING -DICE_BUILDING_SRC -L$(topSrcDir)\cpp\lib\$(Platform)\$(Configuration) -lmex -lmx $(srcDir)\*.cpp"/>
        <Exec Command="copy /Y $(topSrcDir)\cpp\bin\$(Platform)\$(Configuration)\bzip2$(DebugExt).dll $(srcDir)"/>
        <Exec Command="copy /Y &quot;$(topSrcDir)\cpp\bin\$(Platform)\$(Configuration)\ice37++11$(DebugExt).dll&quot; $(srcDir)"/>
  </Target>

</Project>