[msbuild] Share the CodesignNativeLibraries target between Xamarin.iOS and Xamarin.Mac. (#9775)
This commit is contained in:
Родитель
95b76d6ee8
Коммит
4cf26937ce
|
@ -122,29 +122,6 @@ Copyright (C) 2014 Xamarin. All rights reserved.
|
|||
<RemoveDir Directories="$(IntermediateOutputPath)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="_CodesignNativeLibraries" Condition="'$(_RequireCodeSigning)'" DependsOnTargets="_DetectSigningIdentity">
|
||||
|
||||
<ItemGroup>
|
||||
<_CodesignNativeLibrary Include="$(_AppContentsPath)\**\*.dylib" />
|
||||
<_CodesignNativeLibrary Include="$(_AppResourcesPath)\**\*.metallib" />
|
||||
</ItemGroup>
|
||||
|
||||
<Codesign
|
||||
SessionId="$(BuildSessionId)"
|
||||
ToolExe="$(CodesignExe)"
|
||||
ToolPath="$(CodesignPath)"
|
||||
Condition="'@(_NativeLibrary)' != '' And '$(IsMacEnabled)' == 'true'"
|
||||
CodesignAllocate="$(_CodesignAllocate)"
|
||||
Keychain="$(CodesignKeychain)"
|
||||
Resources="@(_CodesignNativeLibrary)"
|
||||
SigningKey="$(_CodeSigningKey)"
|
||||
ExtraArgs="$(CodesignExtraArgs)"
|
||||
IsAppExtension="$(IsAppExtension)"
|
||||
UseSecureTimestamp="$(UseHardenedRuntime)"
|
||||
>
|
||||
</Codesign>
|
||||
</Target>
|
||||
|
||||
<Target Name="_EmbedProvisionProfile" Condition="'$(_ProvisioningProfile)' != ''" DependsOnTargets="_GenerateBundleName"
|
||||
Outputs="$(_AppBundlePath)Contents\embedded.provisionprofile">
|
||||
<EmbedProvisionProfile
|
||||
|
|
|
@ -755,6 +755,56 @@ Copyright (C) 2018 Microsoft. All rights reserved.
|
|||
|
||||
<Target Name="Codesign" Condition="'$(_CanOutputAppBundle)' == 'true'" DependsOnTargets="$(CodesignDependsOn)" />
|
||||
|
||||
<PropertyGroup>
|
||||
<_CodesignNativeLibrariesDependsOn>
|
||||
$(_CodesignNativeLibrariesDependsOn);
|
||||
_DetectSigningIdentity;
|
||||
_CompileToNative;
|
||||
</_CodesignNativeLibrariesDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Note:
|
||||
Always codesign *.dylibs even for Simulator builds for iOS/tvOS/watchOS. We use $(_CanOutputAppBundle) because dylibs can exist in app extensions as well.
|
||||
For macOS we sign if _RequireCodeSigning is true
|
||||
-->
|
||||
<Target Name="_CodesignNativeLibraries" Condition="'$(_CanOutputAppBundle)' == 'true' And ('$(_RequireCodeSigning)' == 'true' Or '$(_PlatformName)' != 'macOS')" DependsOnTargets="$(_CodesignNativeLibrariesDependsOn)">
|
||||
|
||||
<PropertyGroup>
|
||||
<_CodesignDisableTimestamp>False</_CodesignDisableTimestamp>
|
||||
<_CodesignDisableTimestamp Condition="'$(_SdkIsSimulator)' == 'true' Or '$(_BundlerDebug)' == 'true'">True</_CodesignDisableTimestamp>
|
||||
<_LibraryCodeSigningKey>$(_CodeSigningKey)</_LibraryCodeSigningKey>
|
||||
<_LibraryCodeSigningKey Condition="'$(_LibraryCodeSigningKey)' == ''">-</_LibraryCodeSigningKey>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup Condition="'$(_PlatformName)' == 'macOS'">
|
||||
<_CodesignNativeLibrary Include="$(_AppContentsPath)\**\*.dylib" />
|
||||
<_CodesignNativeLibrary Include="$(_AppResourcesPath)\**\*.metallib" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(_PlatformName)' != 'macOS'">
|
||||
<_CodesignNativeLibrary
|
||||
Include="$(_AppBundlePath)\**\*.dylib;$(_AppBundlePath)\**\*.metallib"
|
||||
Exclude="$(_AppBundlePath)\Watch\**;$(_AppBundlePath)\PlugIns\**"
|
||||
/>
|
||||
</ItemGroup>
|
||||
|
||||
<Codesign
|
||||
Condition="'$(IsMacEnabled)' == 'true'"
|
||||
SessionId="$(BuildSessionId)"
|
||||
CodesignAllocate="$(_CodesignAllocate)"
|
||||
DisableTimestamp="$(_CodesignDisableTimestamp)"
|
||||
ExtraArgs="$(CodesignExtraArgs)"
|
||||
IsAppExtension="$(IsAppExtension)"
|
||||
Keychain="$(CodesignKeychain)"
|
||||
Resources="@(_CodesignNativeLibrary)"
|
||||
SigningKey="$(_LibraryCodeSigningKey)"
|
||||
StampPath="$(DeviceSpecificIntermediateOutputPath)codesign\"
|
||||
ToolExe="$(CodesignExe)"
|
||||
ToolPath="$(CodesignPath)"
|
||||
UseSecureTimestamp="$(UseHardenedRuntime)"
|
||||
>
|
||||
</Codesign>
|
||||
</Target>
|
||||
|
||||
<!-- LinkMode -->
|
||||
<PropertyGroup>
|
||||
<_ComputeLinkModeDependsOn>
|
||||
|
|
|
@ -1254,47 +1254,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
|||
</CollectFrameworks>
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<_CodesignNativeLibrariesDependsOn>
|
||||
$(_CodesignNativeLibrariesDependsOn);
|
||||
_DetectSigningIdentity;
|
||||
_CompileToNative;
|
||||
</_CodesignNativeLibrariesDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Note: Always codesign *.dylibs even for Simulator builds. We use $(_CanOutputAppBundle) because dylibs can exist in app extensions as well. -->
|
||||
<Target Name="_CodesignNativeLibraries" Condition="'$(_CanOutputAppBundle)' == 'true'" DependsOnTargets="$(_CodesignNativeLibrariesDependsOn)">
|
||||
|
||||
<PropertyGroup>
|
||||
<_CodesignDisableTimestamp>False</_CodesignDisableTimestamp>
|
||||
<_CodesignDisableTimestamp Condition="'$(_SdkIsSimulator)' == 'true' Or '$(_BundlerDebug)' == 'true'">True</_CodesignDisableTimestamp>
|
||||
<_LibraryCodeSigningKey>$(_CodeSigningKey)</_LibraryCodeSigningKey>
|
||||
<_LibraryCodeSigningKey Condition="'$(_LibraryCodeSigningKey)' == ''">-</_LibraryCodeSigningKey>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<_CodesignNativeLibrary
|
||||
Include="$(_AppBundlePath)\**\*.dylib;$(_AppBundlePath)\**\*.metallib"
|
||||
Exclude="$(_AppBundlePath)\Watch\**;$(_AppBundlePath)\PlugIns\**"
|
||||
/>
|
||||
</ItemGroup>
|
||||
|
||||
<Codesign
|
||||
Condition="'$(IsMacEnabled)' == 'true'"
|
||||
SessionId="$(BuildSessionId)"
|
||||
ToolExe="$(CodesignExe)"
|
||||
ToolPath="$(CodesignPath)"
|
||||
CodesignAllocate="$(_CodesignAllocate)"
|
||||
DisableTimestamp="$(_CodesignDisableTimestamp)"
|
||||
Keychain="$(CodesignKeychain)"
|
||||
Resources="@(_CodesignNativeLibrary)"
|
||||
SigningKey="$(_LibraryCodeSigningKey)"
|
||||
StampPath="$(DeviceSpecificIntermediateOutputPath)codesign"
|
||||
ExtraArgs="$(CodesignExtraArgs)"
|
||||
>
|
||||
</Codesign>
|
||||
</Target>
|
||||
|
||||
<Target Name="_CodesignFrameworks" Condition="'$(_CanOutputAppBundle)' == 'true' And '@(_Frameworks)' != ''" DependsOnTargets="_DetectSigningIdentity;_CollectFrameworks"
|
||||
Inputs="%(_Frameworks.Identity)" Outputs="$(DeviceSpecificIntermediateOutputPath)codesign\%(_Frameworks.Filename)%(_Frameworks.Extension)">
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче