[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)" />
|
<RemoveDir Directories="$(IntermediateOutputPath)" />
|
||||||
</Target>
|
</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"
|
<Target Name="_EmbedProvisionProfile" Condition="'$(_ProvisioningProfile)' != ''" DependsOnTargets="_GenerateBundleName"
|
||||||
Outputs="$(_AppBundlePath)Contents\embedded.provisionprofile">
|
Outputs="$(_AppBundlePath)Contents\embedded.provisionprofile">
|
||||||
<EmbedProvisionProfile
|
<EmbedProvisionProfile
|
||||||
|
|
|
@ -755,6 +755,56 @@ Copyright (C) 2018 Microsoft. All rights reserved.
|
||||||
|
|
||||||
<Target Name="Codesign" Condition="'$(_CanOutputAppBundle)' == 'true'" DependsOnTargets="$(CodesignDependsOn)" />
|
<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 -->
|
<!-- LinkMode -->
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<_ComputeLinkModeDependsOn>
|
<_ComputeLinkModeDependsOn>
|
||||||
|
|
|
@ -1254,47 +1254,6 @@ Copyright (C) 2013-2016 Xamarin. All rights reserved.
|
||||||
</CollectFrameworks>
|
</CollectFrameworks>
|
||||||
</Target>
|
</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"
|
<Target Name="_CodesignFrameworks" Condition="'$(_CanOutputAppBundle)' == 'true' And '@(_Frameworks)' != ''" DependsOnTargets="_DetectSigningIdentity;_CollectFrameworks"
|
||||||
Inputs="%(_Frameworks.Identity)" Outputs="$(DeviceSpecificIntermediateOutputPath)codesign\%(_Frameworks.Filename)%(_Frameworks.Extension)">
|
Inputs="%(_Frameworks.Identity)" Outputs="$(DeviceSpecificIntermediateOutputPath)codesign\%(_Frameworks.Filename)%(_Frameworks.Extension)">
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче