|
6 | 6 | <_NativeTimingLibName Condition=" '$(OS)' != 'Windows_NT' And Exists ('/Library/Frameworks/') ">libNativeTiming.dylib</_NativeTimingLibName> |
7 | 7 | <_NativeTimingLibName Condition=" '$(OS)' != 'Windows_NT' And !Exists ('/Library/Frameworks/') ">libNativeTiming.so</_NativeTimingLibName> |
8 | 8 | <_NativeTimingLibName Condition=" '$(OS)' == 'Windows_NT' ">NativeTiming.dll</_NativeTimingLibName> |
9 | | - <_NativeTimingOutputPath>$(OutputPath)$(_NativeTimingLibName)</_NativeTimingOutputPath> |
10 | 9 | </PropertyGroup> |
11 | 10 |
|
| 11 | + <ItemGroup Condition=" '$(OS)' == 'Windows_NT' "> |
| 12 | + <_NativeTimingLib Include="CMakeLists.txt"> |
| 13 | + <Arch>x86_amd64</Arch> |
| 14 | + <Dir>win-x64\</Dir> |
| 15 | + </_NativeTimingLib> |
| 16 | + <_NativeTimingLib Include="CMakeLists.txt"> |
| 17 | + <Arch>x86</Arch> |
| 18 | + <Dir>win-x86\</Dir> |
| 19 | + </_NativeTimingLib> |
| 20 | + </ItemGroup> |
| 21 | + |
| 22 | + <ItemGroup Condition=" '$(OS)' != 'Windows_NT' "> |
| 23 | + <_NativeTimingLib Include="CMakeLists.txt" /> |
| 24 | + </ItemGroup> |
| 25 | + |
12 | 26 | <ItemGroup> |
13 | | - <None Include="$(_NativeTimingOutputPath)"> |
| 27 | + <None Include="@(_NativeTimingLib->'$(OutputPath)%(Dir)$(_NativeTimingLibName)')"> |
14 | 28 | <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> |
| 29 | + <Link>%(Dir)$(_NativeTimingLibName)</Link> |
15 | 30 | </None> |
16 | 31 | </ItemGroup> |
17 | 32 |
|
| 33 | + <ItemGroup> |
| 34 | + <ClInclude Include="*.h" /> |
| 35 | + </ItemGroup> |
| 36 | + |
| 37 | + <ItemGroup> |
| 38 | + <ClCompile Include="$(IntermediateOutputPath)jni.c" /> |
| 39 | + <ClCompile Include="*.cc" /> |
| 40 | + </ItemGroup> |
| 41 | + |
18 | 42 | <Target Name="_BuildLibs" |
19 | 43 | BeforeTargets="Build" |
20 | | - DependsOnTargets="_BuildNativeTiming"> |
21 | | - </Target> |
22 | | - |
23 | | - <Target Name="_BuildNativeTiming" |
24 | 44 | DependsOnTargets="GetNativeBuildCommands" |
25 | | - Inputs="CMakeLists.txt;timing.c;$(MSBuildThisFileFullPath);NativeTiming.csproj" |
26 | | - Outputs="$(_NativeTimingOutputPath)"> |
| 45 | + Inputs="@(_NativeTimingLib);$(MSBuildThisFileFullPath);NativeTiming.csproj;@(ClInclude);$(ClCompile)" |
| 46 | + Outputs="$(OutputPath)%(_NativeTimingLib.Dir)$(_NativeTimingLibName)"> |
27 | 47 | <MakeDir Directories="$(IntermediateOutputPath)" /> |
28 | 48 | <PropertyGroup> |
29 | 49 | <_JdkDirs>"-DJDK_INCLUDE_LIST=@(JdkIncludePath, ';')"</_JdkDirs> |
30 | 50 | </PropertyGroup> |
31 | 51 | <ItemGroup> |
32 | 52 | <_Cmake |
33 | 53 | Condition=" '$(PrepareNativeToolchain)' != '' " |
34 | | - Include="PrepareNativeToolchain=$(PrepareNativeToolchain) x86_amd64" |
| 54 | + Include="PrepareNativeToolchain=$(PrepareNativeToolchain) %(_NativeTimingLib.Arch)" |
35 | 55 | /> |
36 | 56 | <_Cmake Include="CmakePath=$(CmakePath)" /> |
37 | 57 | <_Cmake Include="CmakeGenerator=$(CmakeGenerator)" /> |
38 | 58 | <_Cmake Include="CmakeSourceDir=$(MSBuildThisFileDirectory)" /> |
39 | | - <_Cmake Include="CmakeBuildDir=$(MSBuildThisFileDirectory)$(IntermediateOutputPath)" /> |
| 59 | + <_Cmake Include="CmakeBuildDir=$(MSBuildThisFileDirectory)$(IntermediateOutputPath)%(_NativeTimingLib.Dir)" /> |
40 | 60 | <_Cmake Include="CmakeExtraArgs=$(_JdkDirs)" /> |
41 | 61 | </ItemGroup> |
42 | 62 | <MSBuild |
|
45 | 65 | Targets="Cmake" |
46 | 66 | /> |
47 | 67 | <ItemGroup> |
48 | | - <_Libs Include="$(IntermediateOutputPath)$(_NativeTimingLibName)*" /> |
| 68 | + <_Libs Include="$(IntermediateOutputPath)%(_NativeTimingLib.Dir)$(_NativeTimingLibName)*" /> |
49 | 69 | </ItemGroup> |
50 | 70 | <Copy |
51 | 71 | SourceFiles="@(_Libs)" |
52 | | - DestinationFolder="$(OutputPath)" |
| 72 | + DestinationFolder="$(OutputPath)%(_NativeTimingLib.Dir)" |
53 | 73 | /> |
54 | | - <Touch Files="$(_NativeTimingOutputPath)" /> |
| 74 | + <Touch Files="$(OutputPath)%(_NativeTimingLib.Dir)$(_NativeTimingLibName)" /> |
55 | 75 | </Target> |
56 | 76 |
|
57 | 77 | <Target Name="_Clean" |
|
0 commit comments