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:
| 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:
| 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:
| 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 |