CMAKE_BUILD_TYPE
:STRINGSets the build type. Possible values are Release
, Debug
, RelWithDebInfo
and MinSizeRel
. If unset, build type is set to Release
.
CMAKE_<LANG>_COMPILER
:STRINGThis is the command that will be used as the <LANG>
compiler, which are C
and CXX
in IREE. These variables are set to compile IREE with clang
or rather clang++
. Once set, these variables can not be changed.
This gives a brief explanation of IREE specific CMake options and variables.
IREE_ENABLE_RUNTIME_TRACING
:BOOLEnables instrumented runtime tracing. Defaults to OFF
.
IREE_ENABLE_COMPILER_TRACING
:BOOLEnables instrumented compiler tracing. This requires that IREE_ENABLE_RUNTIME_TRACING
also be set. Defaults to OFF
.
IREE_BUILD_COMPILER
:BOOLBuilds the IREE compiler. Defaults to ON
.
IREE_BUILD_TESTS
:BOOLBuilds IREE unit tests. Defaults to ON
.
IREE_BUILD_DOCS
:BOOLBuilds IREE documentation. Defaults to OFF
.
IREE_BUILD_SAMPLES
:BOOLBuilds IREE sample projects. Defaults to ON
.
IREE_BUILD_PYTHON_BINDINGS
:BOOLBuilds the IREE python bindings. Defaults to OFF
.
IREE_BUILD_BINDINGS_TFLITE
:BOOLBuilds the IREE TFLite C API compatibility shim. Defaults to ON
.
IREE_BUILD_BINDINGS_TFLITE_JAVA
:BOOLBuilds the IREE TFLite Java bindings with the C API compatibility shim. Defaults to ON
.
IREE_BUILD_EXPERIMENTAL_REMOTING
:BOOLBuilds experimental remoting component. Defaults to OFF
.
IREE_HAL_DRIVER_DEFAULTS
:BOOLDefault setting for each IREE_HAL_DRIVER_*
option.
IREE_HAL_DRIVER_*
:BOOLIndividual options enabling the build for each runtime HAL driver.
IREE_TARGET_BACKEND_DEFAULTS
:BOOLDefault setting for each IREE_TARGET_BACKEND_*
option.
IREE_TARGET_BACKEND_*
:BOOLIndividual options enabling the build for each compiler target backend.
IREE_INPUT_*
:BOOLIndividual options enabling each set of input dialects.
IREE_OUTPUT_FORMAT_C
:BOOLEnables the vm-c compiler output format, using MLIR EmitC. Defaults to ON
.
IREE_DEV_MODE
:BOOLConfigure settings to optimize for IREE development (as opposed to CI or release). Defaults to OFF
. For example, this will downgrade some compiler diagnostics from errors to warnings.
IREE_ENABLE_LLD
:BOOLUse lld when linking. Defaults to OFF
. This option is equivalent to -DIREE_USE_LINKER=lld
. The option IREE_ENABLE_LLD
and IREE_USE_LINKER
can not be set at the same time.
IREE_ENABLE_ASAN
:BOOLEnable address sanitizer if the current build type is Debug and the compiler supports it.
IREE_ENABLE_MSAN
:BOOLEnable memory sanitizer if the current build type is Debug and the compiler supports it.
IREE_ENABLE_TSAN
:BOOLEnable thread sanitizer if the current build type is Debug and the compiler supports it.
IREE_ENABLE_UBSAN
:BOOLEnable undefiend behavior sanitizer if the current build type is Debug and the compiler supports it.
When cross compiling (using a toolchain file like android.toolchain.cmake
), first build and install IREE's tools for your host configuration, then use the IREE_HOST_BIN_DIR
CMake option to point the cross compiled build at the host tools.