UserGuide

IDE Scripting Building Commands

From Xojo Documentation

These commands are related to building projects.

BuildApp(buildType As Integer [, reveal As Boolean]) As String

Starts building the current project.

Notes

The buildType can be one of these values:

Value Build Target 32/64-bit Architecture
3 Windows 32-bit Intel
4 Linux 32-bit Intel
9 macOS Universal 64-bit Intel & ARM
12 Xojo Cloud 32-bit Intel
13 iOS Simulator 64-bit Intel
14 iOS 64-bit ARM
16 macOS (all) 64-bit Intel
17 Linux 64-bit Intel
18 Linux 32-bit ARM
19 Windows 64-bit Intel
24 macOS 64-bit ARM

If reveal is True, the built app is displayed using the OS file manager.

Returns a String containing the Shell path of the built app.

BuildApp cannot be used in an IDE Script that is called by a Build Automation Script.

Sample Code

Display the location of a Mac build:

Var appPath As String
appPath = BuildApp(16) // Mac 64-bit build
Print("Built: " + appPath)

BuildCurrentPlatform As Boolean

Gets or sets whether to build the project for the current OS platform.

BuildLanguage As String

Used to get or set the build language. This is the “Language” property on the Shared Build Settings.

Sample Code

Change the language to English:

If BuildLanguage = "Default" Then
BuildLanguage = "English"
End If

BuildLinux As Boolean

Gets or sets whether to build the project for Linux.

Notes

This is also set to true when "This Computer" is selected and Xojo is running on Linux.

Sample Code

Create a Linux build:

BuildLinux = True
DoCommand("BuildApp")

BuildMac As Boolean

Gets or sets whether to build the project for macOS.

Notes

This is also set to true when "This Computer" is selected and Xojo is running on macOS.

Sample Code

Build for Mac, but not Windows:

BuildMac = True
BuildWin32 = False
DoCommand("BuildApp")

BuildRegion

[To be documented]

BuildWebDebugPort As Integer

Gets or sets the web port for running debug apps.

Sample Code

Set the debug port:

BuildWebDebugPort = 8100

BuildWebPort As Integer

Gets or sets the web port for built apps.

Notes

Use a value of -1 to choose a port automatically.

Sample Code

Set the port:

BuildWebPort = 8080

BuildWin32 As Boolean

Gets or sets whether to build the project for Windows.

Notes

This is also set to true when "This Computer" is selected and Xojo is running on Windows.

Sample Code

Build for Windows, but not Mac:

BuildMac = False
BuildWin32 = True
DoCommand("BuildApp")

CancelBuild

Cancels the current build in IDE Pre-Build Scripts. In a Post-Build script this is ignored.

Sample Code

Cancel a build:

CancelBuild

CurrentBuildAppName As String (read-only)

Returns the name of the app that was built. This can only be used in a Build Automation IDE Script that runs after the Build Step. This just the app name, so spaces and other special characters are not escaped.

Sample Code

Display the built app's name:

Print(CurrentBuildAppName)

CurrentBuildLocation As String (read-only)

Returns the shell path to the app that was built. This can only be used in a Build Automation IDE Script that runs after the Build Step. Since this is a shell path, spaces and other special characters are properly escaped.

Sample Code

Display the built app's shell path:

Print(CurrentBuildLocation)

CurrentBuildLocationNative As String (read-only)

Returns the native (unescaped) path to the app that was built. This can only be used in a Build Automation IDE Script that runs after the Build Step.

Sample Code

Display the built app's native path:

Print(CurrentBuildLocationNative)

CurrentBuildTarget As Integer (read-only)

Returns an integer that specifies the type of app that was built. This can only be used in a Build Automation IDE Script that runs after the Build Step.

Notes

The return value is one of these values:

Value Build Target 32/64-bit Architecture
3 Windows 32-bit Intel
4 Linux 32-bit Intel
9 macOS Universal 64-bit Intel & ARM
12 Xojo Cloud 32-bit Intel
14 iOS Simulator 64-bit Intel
15 iOS 64-bit ARM
16 Mac (all) 64-bit Intel
17 Linux 64-bit Intel
18 Linux 32-bit ARM
19 Windows 64-bit Intel
24 macOS 64-bit ARM

Sample Code

Get the value for the target that was built:

Var result As Integer = CurrentBuildTarget

PropertyValue(String) As String

Allows you to set the build target. Acceptable property names are: App.MacArchitecture, App.WindowsArchitecture and App.LinuxArchitecture. Acceptable values are: x32, x64, ARM32 and ARM64 depending on the specified target. If the target doesn't support the new value, the build target will be unchanged.

Sample Code

PropertyValue("App.MacArchitecture") = "x64"