diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs index 7e2bbc13bc..097815cc69 100644 --- a/nukebuild/Build.cs +++ b/nukebuild/Build.cs @@ -138,9 +138,19 @@ partial class Build : NukeBuild .SetWorkingDirectory(webappDir) .SetCommand("dist")); }); - - Target Compile => _ => _ + + Target CompileNative => _ => _ .DependsOn(Clean) + .OnlyWhenStatic(() => EnvironmentInfo.IsOsx) + .Executes(() => + { + var project = $"{RootDirectory}/native/Avalonia.Native/src/OSX/Avalonia.Native.OSX.xcodeproj/"; + var args = $"-project {project} -configuration {Parameters.Configuration} CONFIGURATION_BUILD_DIR={RootDirectory}/Build/Products/Release"; + ProcessTasks.StartProcess("xcodebuild", args).AssertZeroExitCode(); + }); + + Target Compile => _ => _ + .DependsOn(Clean, CompileNative) .DependsOn(CompileHtmlPreviewer) .Executes(async () => { diff --git a/src/Avalonia.Native/Avalonia.Native.csproj b/src/Avalonia.Native/Avalonia.Native.csproj index f084411c2f..49bd578290 100644 --- a/src/Avalonia.Native/Avalonia.Native.csproj +++ b/src/Avalonia.Native/Avalonia.Native.csproj @@ -1,7 +1,8 @@  - false + $([MSBuild]::IsOSPlatform(OSX)) + $(PackAvaloniaNative) true netstandard2.0 /usr/bin/castxml @@ -10,8 +11,9 @@ false - + + libAvaloniaNative.dylib runtimes/osx/native/libAvaloniaNative.dylib true PreserveNewest @@ -26,4 +28,4 @@ - + \ No newline at end of file