CMAKE_MACHINE and CMAKE_SYSTEM_PROCESSOR - 2025.2 English - UG1647

Porting Guide for embeddedsw Components System Device Tree Based Build Flow (UG1647)

Document ID
UG1647
Release Date
2025-12-03
Version
2025.2 English

To differentiate a platform or a processor specific piece of code in CMAKE, CMAKE_MACHINE and CMAKE_SYSTEM_PROCESSOR variables can be used. A list of available CMAKE_MACHINE values is shown in the following table:

Table 1. CMAKE_MACHINE Values
Platform Name CMAKE_MACHINE
AMD Zynq™ 7000 devices Zynq
AMD Zynq™ UltraScale+™ MPSoCs ZynqMP
AMD Versal™ adaptive SoCs Versal
Kintex or MicroBlaze™ boards Name depends on family of the design. It can be kintex7, kintexu, virtex, etc.
VersalNet and Versal 2VE_2VM devices VersalNet

A list of available CMAKE_SUBMACHINE values is shown in the following table:

Table 2. CMAKE_SUBMACHINE Values
Platform Name CMAKE_SUBMACHINE
VersalNet devices VersalNet
Versal 2VE and 2VM Devices Versal_2VE_2VM

A list of available CMAKE_SYSTEM_PROCESSOR values is shown in the following table:

Table 3. CMAKE_SYSTEM_PROCESSOR Values
Processor Name CMAKE_SYSTEM_PROCESSOR (value)
Soft MicroBlaze microblaze
Soft RISCV MicroBlaze microblaze_riscv
PMU MicroBlaze pmu_microblaze
PSM MicroBlaze microblaze
PLM MicroBlaze plm_microblaze
Arm® Cortex®-A53 cortexa53
Arm Cortex-R5F cortexr5
Arm Cortex-A72 cortexa72
Arm Cortex A9 cortexa9
Arm Cortex-A78 cortexa78
Arm Cortex-R52 cortexr52