CMake optionslink
Frequently-used CMake optionslink
CMAKE_BUILD_TYPElink
- type: STRING
 
Sets the build type. Possible values are Release, Debug,
RelWithDebInfo and MinSizeRel. If unset, build type is set to Release.
CMAKE_<LANG>_COMPILERlink
- type: STRING
 
This 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.
IREE-specific CMake optionslink
This gives a brief explanation of IREE specific CMake options and variables.
IREE_ENABLE_RUNTIME_TRACINGlink
- type: BOOL
 
Enables instrumented runtime tracing. Defaults to OFF.
IREE_ENABLE_COMPILER_TRACINGlink
- type: BOOL
 
Enables instrumented compiler tracing. This requires that
IREE_ENABLE_RUNTIME_TRACING also be set. Defaults to OFF.
IREE_BUILD_COMPILERlink
- type: BOOL
 
Builds the IREE compiler. Defaults to ON.
IREE_BUILD_TESTSlink
- type: BOOL
 
Builds IREE unit tests. Defaults to ON.
IREE_BUILD_DOCSlink
- type: BOOL
 
Builds IREE documentation files. Defaults to OFF.
IREE_BUILD_SAMPLESlink
- type: BOOL
 
Builds IREE sample projects. Defaults to ON.
IREE_BUILD_PYTHON_BINDINGSlink
- type: BOOL
 
Builds the IREE python bindings. Defaults to OFF.
IREE_BUILD_BINDINGS_TFLITElink
- type: BOOL
 
Builds the IREE TFLite C API compatibility shim. Defaults to ON.
IREE_BUILD_BINDINGS_TFLITE_JAVAlink
- type: BOOL
 
Builds the IREE TFLite Java bindings with the C API compatibility shim.
Defaults to ON.
IREE_HAL_DRIVER_DEFAULTSlink
- type: BOOL
 
Default setting for each IREE_HAL_DRIVER_* option.
IREE_HAL_DRIVER_*link
- type: BOOL
 
Individual options enabling the build for each runtime HAL driver:
IREE_HAL_DRIVER_CUDAIREE_HAL_DRIVER_HIPIREE_HAL_DRIVER_LOCAL_SYNCIREE_HAL_DRIVER_LOCAL_TASKIREE_HAL_DRIVER_VULKANIREE_HAL_DRIVER_METAL
IREE_TARGET_BACKEND_DEFAULTSlink
- type: BOOL
 
Default setting for each IREE_TARGET_BACKEND_* option.
IREE_TARGET_BACKEND_*link
- type: BOOL
 
Individual options enabling the build for each compiler target backend:
IREE_TARGET_BACKEND_VMVXIREE_TARGET_BACKEND_LLVM_CPUIREE_TARGET_BACKEND_LLVM_CPU_WASMIREE_TARGET_BACKEND_METAL_SPIRVIREE_TARGET_BACKEND_VULKAN_SPIRVIREE_TARGET_BACKEND_ROCM
IREE_INPUT_*link
- type: BOOL
 
Individual options enabling each set of input dialects:
IREE_INPUT_STABLEHLOIREE_INPUT_TORCHIREE_INPUT_TOSA
IREE_OUTPUT_FORMAT_Clink
- type: BOOL
 
Enables the vm-c compiler output format, using MLIR EmitC. Defaults to ON.
IREE_DEV_MODElink
- type: BOOL
 
Configure 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_LLDlink
- type: BOOL
 
Use 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_ASANlink
- type: BOOL
 
Enable address sanitizer if the current build type is Debug and the compiler supports it.
IREE_ENABLE_MSANlink
- type: BOOL
 
Enable memory sanitizer if the current build type is Debug and the compiler supports it.
IREE_ENABLE_TSANlink
- type: BOOL
 
Enable thread sanitizer if the current build type is Debug and the compiler supports it.
IREE_ENABLE_UBSANlink
- type: BOOL
 
Enable undefiend behavior sanitizer if the current build type is Debug and the compiler supports it.
Cross-compilationlink
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.