Skip to content

Commit 7016a28

Browse files
committed
"Multitarget" NativeTiming as well
1 parent cc2ef8b commit 7016a28

File tree

2 files changed

+43
-22
lines changed

2 files changed

+43
-22
lines changed

src/java-interop/Directory.Build.targets

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@
88
<_JavaInteropLibName Condition=" '$(OS)' == 'Windows_NT' ">java-interop.dll</_JavaInteropLibName>
99
</PropertyGroup>
1010

11-
<ItemGroup>
12-
<ClInclude Include="*.h" />
13-
</ItemGroup>
14-
15-
<ItemGroup>
16-
<ClCompile Include="$(IntermediateOutputPath)jni.c" />
17-
<ClCompile Include="*.cc" />
18-
</ItemGroup>
19-
2011
<ItemGroup Condition=" '$(OS)' == 'Windows_NT' ">
2112
<_JavaInteropNativeLib Include="CMakeLists.txt">
2213
<Arch>x86_amd64</Arch>
@@ -27,6 +18,7 @@
2718
<Dir>win-x86\</Dir>
2819
</_JavaInteropNativeLib>
2920
</ItemGroup>
21+
3022
<ItemGroup Condition=" '$(OS)' != 'Windows_NT' ">
3123
<_JavaInteropNativeLib Include="CMakeLists.txt" />
3224
</ItemGroup>
@@ -38,6 +30,15 @@
3830
</None>
3931
</ItemGroup>
4032

33+
<ItemGroup>
34+
<ClInclude Include="*.h" />
35+
</ItemGroup>
36+
37+
<ItemGroup>
38+
<ClCompile Include="$(IntermediateOutputPath)jni.c" />
39+
<ClCompile Include="*.cc" />
40+
</ItemGroup>
41+
4142
<Target Name="_BuildJni_c"
4243
Inputs="$(_JNIEnvGenPath)"
4344
Outputs="$(IntermediateOutputPath)jni.c">

tests/NativeTiming/Directory.Build.targets

Lines changed: 33 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,57 @@
66
<_NativeTimingLibName Condition=" '$(OS)' != 'Windows_NT' And Exists ('/Library/Frameworks/') ">libNativeTiming.dylib</_NativeTimingLibName>
77
<_NativeTimingLibName Condition=" '$(OS)' != 'Windows_NT' And !Exists ('/Library/Frameworks/') ">libNativeTiming.so</_NativeTimingLibName>
88
<_NativeTimingLibName Condition=" '$(OS)' == 'Windows_NT' ">NativeTiming.dll</_NativeTimingLibName>
9-
<_NativeTimingOutputPath>$(OutputPath)$(_NativeTimingLibName)</_NativeTimingOutputPath>
109
</PropertyGroup>
1110

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+
1226
<ItemGroup>
13-
<None Include="$(_NativeTimingOutputPath)">
27+
<None Include="@(_NativeTimingLib->'$(OutputPath)%(Dir)$(_NativeTimingLibName)')">
1428
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
29+
<Link>%(Dir)$(_NativeTimingLibName)</Link>
1530
</None>
1631
</ItemGroup>
1732

33+
<ItemGroup>
34+
<ClInclude Include="*.h" />
35+
</ItemGroup>
36+
37+
<ItemGroup>
38+
<ClCompile Include="$(IntermediateOutputPath)jni.c" />
39+
<ClCompile Include="*.cc" />
40+
</ItemGroup>
41+
1842
<Target Name="_BuildLibs"
1943
BeforeTargets="Build"
20-
DependsOnTargets="_BuildNativeTiming">
21-
</Target>
22-
23-
<Target Name="_BuildNativeTiming"
2444
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)">
2747
<MakeDir Directories="$(IntermediateOutputPath)" />
2848
<PropertyGroup>
2949
<_JdkDirs>"-DJDK_INCLUDE_LIST=@(JdkIncludePath, ';')"</_JdkDirs>
3050
</PropertyGroup>
3151
<ItemGroup>
3252
<_Cmake
3353
Condition=" '$(PrepareNativeToolchain)' != '' "
34-
Include="PrepareNativeToolchain=$(PrepareNativeToolchain) x86_amd64"
54+
Include="PrepareNativeToolchain=$(PrepareNativeToolchain) %(_NativeTimingLib.Arch)"
3555
/>
3656
<_Cmake Include="CmakePath=$(CmakePath)" />
3757
<_Cmake Include="CmakeGenerator=$(CmakeGenerator)" />
3858
<_Cmake Include="CmakeSourceDir=$(MSBuildThisFileDirectory)" />
39-
<_Cmake Include="CmakeBuildDir=$(MSBuildThisFileDirectory)$(IntermediateOutputPath)" />
59+
<_Cmake Include="CmakeBuildDir=$(MSBuildThisFileDirectory)$(IntermediateOutputPath)%(_NativeTimingLib.Dir)" />
4060
<_Cmake Include="CmakeExtraArgs=$(_JdkDirs)" />
4161
</ItemGroup>
4262
<MSBuild
@@ -45,13 +65,13 @@
4565
Targets="Cmake"
4666
/>
4767
<ItemGroup>
48-
<_Libs Include="$(IntermediateOutputPath)$(_NativeTimingLibName)*" />
68+
<_Libs Include="$(IntermediateOutputPath)%(_NativeTimingLib.Dir)$(_NativeTimingLibName)*" />
4969
</ItemGroup>
5070
<Copy
5171
SourceFiles="@(_Libs)"
52-
DestinationFolder="$(OutputPath)"
72+
DestinationFolder="$(OutputPath)%(_NativeTimingLib.Dir)"
5373
/>
54-
<Touch Files="$(_NativeTimingOutputPath)" />
74+
<Touch Files="$(OutputPath)%(_NativeTimingLib.Dir)$(_NativeTimingLibName)" />
5575
</Target>
5676

5777
<Target Name="_Clean"

0 commit comments

Comments
 (0)