If you pass variables before the toolchain, they will be available in the toolchain file. Here the updated TARGET_SYSROOT value is available for use in the toolchain file.
The toolchain will use this value to determine the toolchain path. If you are using the default `arm-linux-gnueabihf` value, the bin folder of this toolchain needs to be added to your path.
## TARGET_SYSROOT
If using the default Raspberry Pi toolchain it will use the sysroot from this toolchain. If you use a different toolchain, you will need to update this variable.
`-DSYSROOT=/mnt/rootfs`
## RPI_ARCH
`RPI_ARCH` | RPi
---|:---:
`armv8-a` | 2B 1.2, 3B, 3B+
`armv7-a` | 2B
`armv8` | 3A+
`armv6z` | 1A, 1A+, 1B, Zero 1.2, Zero 1.3, Zero W
The default value is `armv8-a`
# CMAKE Variables
### BUILD_NUMBER
For CI system. Default is `1.0.0`
### CMAKE_BUILD_TYPE
Sets the build type. Options are `Debug`, `Release`, or `MinSizeRel`. Default is `Release`
### TARGET_SYSROOT
Point to the target sysroot.
### CMAKE_STAGING_PREFIX
The sysroot staging path. See Linux Cross-compile example above for usage. Default value is ""
### CMAKE_INSTALL_PREFIX
This is what the prefix should be when installed on the target sysroot. The default for this value on Linux is `/usr/local`.
### BUILD_TESTING
Enables building Unit Test Cases. If Cross-compiling, `make test` will not run any tests. Default is `ON`
### VULKAN_VERSION
Selects the sdk version for Vulkan-Headers, and Vulkan-Loader. Default branch is `sdk-1.2.141`