From 8a863a1c1114099b5ea88aadd2b62f15759aca7e Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Mon, 2 Nov 2020 21:34:45 +0300 Subject: [PATCH 1/2] Update build.md --- Documentation/build.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Documentation/build.md b/Documentation/build.md index 8c2ef57b54..2f59146a48 100644 --- a/Documentation/build.md +++ b/Documentation/build.md @@ -30,7 +30,7 @@ The build process needs [Xcode](https://developer.apple.com/xcode/) to build the Linux operating systems ship with their own respective package managers however we will use [Homebrew](https://brew.sh/) to manage packages on macOS. To install follow the instructions [here](https://docs.brew.sh/Installation). -### Install CastXML +### Install CastXML (pre Nov 2020) Avalonia requires [CastXML](https://github.com/CastXML/CastXML) for XML processing during the build process. The easiest way to install this is via the operating system's package managers, such as below. @@ -61,6 +61,7 @@ git submodule update --init --recursive ### Build native libraries (macOS only) On macOS it is necessary to build and manually install the respective native libraries using [Xcode](https://developer.apple.com/xcode/). The steps to get this working correctly are: +- (for revisions after 2 Nov 2020) Run `./build.sh GenerateCppHeaders` to generate `avalonia-native.h` from `avn.idl` - Navigate to the Avalonia/native/Avalonia.Native/src/OSX folder and open the `Avalonia.Native.OSX.xcodeproj` project - Build the library via the Product->Build menu. This will generate binaries in your local path under ~/Library/Developer/Xcode/DerivedData/Avalonia.Native.OSX-*guid* where "guid" is uniquely generated every time you build. - Manually install the native library by copying it from the build artifacts folder into the shared dynamic library path: From 81e6df9188d47a2debadadfec216b9434c49c2ab Mon Sep 17 00:00:00 2001 From: Nikita Tsukanov Date: Mon, 2 Nov 2020 21:36:10 +0300 Subject: [PATCH 2/2] CompileNative should depend on GenerateCppHeaders --- nukebuild/Build.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs index ecc01b4aab..97647a1c59 100644 --- a/nukebuild/Build.cs +++ b/nukebuild/Build.cs @@ -141,6 +141,7 @@ partial class Build : NukeBuild Target CompileNative => _ => _ .DependsOn(Clean) + .DependsOn(GenerateCppHeaders) .OnlyWhenStatic(() => EnvironmentInfo.IsOsx) .Executes(() => {