# Constants

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

## Description

These constants can be used in Build Step IDE Scripts.

<div class="rst-class">

table-centered_columns_3_and_4

</div>

| Name                                                                                   | Type                               |
|----------------------------------------------------------------------------------------|------------------------------------|
| `AppSupportsDarkMode<ide_scripting_constants.appsupportsdarkmode>`                     | `Boolean</api/data_types/boolean>` |
| `AppSupportsHiDPI<ide_scripting_constants.appsupportshidpi>`                           | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIs32Bit<ide_scripting_constants.currentbuildtargetis32bit>`         | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIs64Bit<ide_scripting_constants.currentbuildtargetis64bit>`         | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsAndroid<ide_scripting_constants.currentbuildtargetisandroid>`     | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsARM<ide_scripting_constants.currentbuildtargetisarm>`             | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsConsole<ide_scripting_constants.currentbuildtargetisconsole>`     | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsDesktop<ide_scripting_constants.currentbuildtargetisdesktop>`     | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsIntel<ide_scripting_constants.currentbuildtargetisintel>`         | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsIOS<ide_scripting_constants.currentbuildtargetisios>`             | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsLinux<ide_scripting_constants.currentbuildtargetislinux>`         | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsMacOS<ide_scripting_constants.currentbuildtargetismacos>`         | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsUniversal<ide_scripting_constants.currentbuildtargetisuniversal>` | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsWeb<ide_scripting_constants.currentbuildtargetisweb>`             | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsWindows<ide_scripting_constants.currentbuildtargetiswindows>`     | `Boolean</api/data_types/boolean>` |
| `CurrentBuildTargetIsXojoCloud<ide_scripting_constants.currentbuildtargetisxojocloud>` | `Boolean</api/data_types/boolean>` |
| `CurrentScriptName<ide_scripting_constants.currentscriptname>`                         | `String</api/data_types/string>`   |
| `DebugBuild<ide_scripting_constants.debugbuild>`                                       | `Boolean</api/data_types/boolean>` |
| `PreBuild<ide_scripting_constants.prebuild>`                                           | `Boolean</api/data_types/boolean>` |
| `TargetLinux<ide_scripting_constants.targetlinux>`                                     | `Boolean</api/data_types/boolean>` |
| `TargetMacOS<ide_scripting_constants.targetmacos>`                                     | `Boolean</api/data_types/boolean>` |
| `TargetWindows<ide_scripting_constants.targetwindows>`                                 | `Boolean</api/data_types/boolean>` |

## Constant descriptions

<div id="ide_scripting_constants.appsupportsdarkmode">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**AppSupportsDarkMode** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` if the app is built with Supports Dark Mode property set to ON.

<div id="ide_scripting_constants.appsupportshidpi">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**AppSupportsHiDPI** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` if the app is built with Supports HiDPI property set to ON.

<div id="ide_scripting_constants.currentbuildtargetis32bit">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIs32Bit** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a 32-bit build.

<div id="ide_scripting_constants.currentbuildtargetis64bit">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIs64Bit** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a 64-bit build.

<div id="ide_scripting_constants.currentbuildtargetisandroid">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsAndroid** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a building an Android app.

<div id="ide_scripting_constants.currentbuildtargetisarm">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsARM** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a build for a the ARM CPU architecture.

<div id="ide_scripting_constants.currentbuildtargetisconsole">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsConsole** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when building a Console app.

<div id="ide_scripting_constants.currentbuildtargetisdesktop">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsDesktop** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when building a Desktop app.

<div id="ide_scripting_constants.currentbuildtargetisintel">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsIntel** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a build for the Intel CPU architecture (x86 or x86-64).

<div id="ide_scripting_constants.currentbuildtargetisios">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsIOS** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when building an iOS app.

<div id="ide_scripting_constants.currentbuildtargetislinux">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsLinux** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doingn a Linux build.

<div id="ide_scripting_constants.currentbuildtargetismacos">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsMacOS** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a macOS build.

<div id="ide_scripting_constants.currentbuildtargetisuniversal">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsUniversal** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a macOS Universal build.

<div id="ide_scripting_constants.currentbuildtargetisweb">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsWeb** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when building a Web app.

<div id="ide_scripting_constants.currentbuildtargetiswindows">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsWindows** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a Windows build.

<div id="ide_scripting_constants.currentbuildtargetisxojocloud">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentBuildTargetIsXojoCloud** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` when doing a Xojo Cloud build.

<div id="ide_scripting_constants.currentscriptname">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**CurrentScriptName** As `String</api/data_types/string>`

> Returns the name of the script that is currently running.

<div id="ide_scripting_constants.debugbuild">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**DebugBuild** As `Boolean</api/data_types/boolean>`

> Indicates if the app is being run in debug mode (`True</api/language/true>`) or as a Build (`False</api/language/false>`).
>
> Update an App constant to indicate the number of debug runs:
>
> ``` xojo
> If DebugBuild Then
>   If SelectProjectItem("App") Then
>     ' Constant kDebugRuns must exist on App
>     Var value As Integer = Val(ConstantValue("kDebugRuns")) + 1
>     ConstantValue("kDebugRuns") = value.ToString
>   End If
> End If
> ```

<div id="ide_scripting_constants.prebuild">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**PreBuild** As `Boolean</api/data_types/boolean>`

> Returns `True</api/language/true>` if the script is running before the Build step.

<div id="ide_scripting_constants.targetlinux">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**TargetLinux** As `Boolean</api/data_types/boolean>`

> Indicates if the Xojo IDE is running on Linux.

<div id="ide_scripting_constants.targetmacos">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**TargetMacOS** As `Boolean</api/data_types/boolean>`

> Indicates if the Xojo IDE is running on a Mac.
>
> If the project is being built on a Mac, then code sign it:
>
> ``` xojo
> If TargetMacOS Then
>   Var command As String
>   command = "codesign -f --deep -s ""Developer ID Application: YourName "" ""YourXojoApp.app """
>   Var result As String
>   result = DoShellCommand(command)
> End If
> ```

<div id="ide_scripting_constants.targetwindows">

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

</div>

**TargetWindows** As `Boolean</api/data_types/boolean>`

> Indicates if the Xojo IDE is running on Windows.
>
> If the project is being built on Windows, start Inno Setup after the build is finished:
>
> ``` xojo
> If TargetWindows Then
>   Var innoSetupPath As String
>   innoSetupPath = "C:\\Program Files (x86)\Inno Setup 5/Compil32.exe"
>   Var result As String
>   Var resultCode As Integer
>   result = DoShellCommand(innoSetupPath, 20000, resultCode)
> End If
> ```
