Nuke.Unreal
Build Unreal apps in Style.
Loading...
Searching...
No Matches
Nuke.Unreal.Platforms.IPlatformSdk Interface Reference

Base interface for implementing the automatic SDK management for a host-target platform pair. More...

Inheritance diagram for Nuke.Unreal.Platforms.IPlatformSdk:
Nuke.Unreal.Platforms.Android.AndroidSdk Nuke.Unreal.Platforms.Linux.WindowsHostsLinux Nuke.Unreal.Platforms.Android.WindowsHostsAndroid

Public Member Functions

Task Setup (IUnrealBuild build)
 
bool IsValid (IUnrealBuild build)
 Would this SDK be ever valid for the given Unreal project. This check is done before Setup is called. It shouldn't yet check if SDK is available locally, only that it can be made available at some point in the future. For checking if an installed SDK is available locally use Exists
 
AbsolutePath GetSdkVersionsPath (IUnrealBuild build)
 A shared user folder for this SDK version, owned by Nuke.Unreal. This may be a parent folder to store all the separate SDK versions. To get the path directly to the currently used SDK use GetSdkPath
 
AbsolutePath GetSdkPath (IUnrealBuild build)
 The root of the currently used platform SDK in the file system, if there's one.
 
AbsolutePath GetToolchainPath (IUnrealBuild build)
 Get the path to a C++ toolchain folder which may be used to compile external C++ code with to maintain ABI compatibility if that code needs to link with Unreal.
 
bool Exists (IUnrealBuild build)
 Whether a valid platform SDK exists locally for given project, and is ready to use without further downloading and installation.
 
PlatformSdkXMakeDataGetXMakeData (IUnrealBuild build)
 If applicable and XMake can work with the toolchains provided by this SDK, return information for it how to do so.
 

Properties

UnrealPlatform Host [get]
 The platform used for development, hosting this SDK to cross-compile target platform.
 
UnrealPlatform Target [get]
 The platform targeted by given SDK.
 

Detailed Description

Base interface for implementing the automatic SDK management for a host-target platform pair.

Definition at line 30 of file IPlatformSdk.cs.

Member Function Documentation

◆ Exists()

bool Nuke.Unreal.Platforms.IPlatformSdk.Exists ( IUnrealBuild build)

Whether a valid platform SDK exists locally for given project, and is ready to use without further downloading and installation.

◆ GetSdkPath()

AbsolutePath Nuke.Unreal.Platforms.IPlatformSdk.GetSdkPath ( IUnrealBuild build)

The root of the currently used platform SDK in the file system, if there's one.

Implemented in Nuke.Unreal.Platforms.Android.AndroidSdk, Nuke.Unreal.Platforms.Android.WindowsHostsAndroid, and Nuke.Unreal.Platforms.Linux.WindowsHostsLinux.

◆ GetSdkVersionsPath()

AbsolutePath Nuke.Unreal.Platforms.IPlatformSdk.GetSdkVersionsPath ( IUnrealBuild build)

A shared user folder for this SDK version, owned by Nuke.Unreal. This may be a parent folder to store all the separate SDK versions. To get the path directly to the currently used SDK use GetSdkPath

◆ GetToolchainPath()

AbsolutePath Nuke.Unreal.Platforms.IPlatformSdk.GetToolchainPath ( IUnrealBuild build)

Get the path to a C++ toolchain folder which may be used to compile external C++ code with to maintain ABI compatibility if that code needs to link with Unreal.

Implemented in Nuke.Unreal.Platforms.Android.WindowsHostsAndroid, and Nuke.Unreal.Platforms.Linux.WindowsHostsLinux.

◆ GetXMakeData()

PlatformSdkXMakeData? Nuke.Unreal.Platforms.IPlatformSdk.GetXMakeData ( IUnrealBuild build)

If applicable and XMake can work with the toolchains provided by this SDK, return information for it how to do so.

Parameters
build
Returns

Implemented in Nuke.Unreal.Platforms.Android.AndroidSdk, Nuke.Unreal.Platforms.Android.WindowsHostsAndroid, and Nuke.Unreal.Platforms.Linux.WindowsHostsLinux.

◆ IsValid()

bool Nuke.Unreal.Platforms.IPlatformSdk.IsValid ( IUnrealBuild build)

Would this SDK be ever valid for the given Unreal project. This check is done before Setup is called. It shouldn't yet check if SDK is available locally, only that it can be made available at some point in the future. For checking if an installed SDK is available locally use Exists

Implemented in Nuke.Unreal.Platforms.Android.AndroidSdk, Nuke.Unreal.Platforms.Android.WindowsHostsAndroid, and Nuke.Unreal.Platforms.Linux.WindowsHostsLinux.

◆ Setup()

Task Nuke.Unreal.Platforms.IPlatformSdk.Setup ( IUnrealBuild build)

Initial setup done when the SDK is first needed by a task in Nuke.Unreal. Download and install SDK files here and point Unreal to it via setting process environment variables for example. Even if an SDK is already downloaded and installed this Setup function would still need to connect Unreal to that.

This method can be called multiple times, not only at initialization. Implementations should tread accordingly.

Parameters
buildCurrent Unreal project, set or get data from it, as that's necessary for this platform SDK
Returns
As this can be a long-running process, implementation is recommended to be async

Implemented in Nuke.Unreal.Platforms.Android.AndroidSdk, Nuke.Unreal.Platforms.Android.WindowsHostsAndroid, and Nuke.Unreal.Platforms.Linux.WindowsHostsLinux.

Property Documentation

◆ Host

UnrealPlatform Nuke.Unreal.Platforms.IPlatformSdk.Host
get

The platform used for development, hosting this SDK to cross-compile target platform.

Implemented in Nuke.Unreal.Platforms.Android.AndroidSdk, Nuke.Unreal.Platforms.Android.WindowsHostsAndroid, and Nuke.Unreal.Platforms.Linux.WindowsHostsLinux.

Definition at line 35 of file IPlatformSdk.cs.

◆ Target

UnrealPlatform Nuke.Unreal.Platforms.IPlatformSdk.Target
get

The documentation for this interface was generated from the following file: