|  | # The purpose of this file is to verify that required variables has been | 
|  | # defined for proper toolchain use. | 
|  | # | 
|  | # This file is intended to be executed in script mode so that it can be used in | 
|  | # other tools, such as twister / python scripts. | 
|  | # | 
|  | # When invoked as a script with -P: | 
|  | # cmake [options] -P verify-toolchain.cmake | 
|  | # | 
|  | # it takes the following arguments: | 
|  | # FORMAT=json: Print the output as a json formatted string, useful for Python | 
|  |  | 
|  | cmake_minimum_required(VERSION 3.20.0) | 
|  |  | 
|  | if(NOT CMAKE_SCRIPT_MODE_FILE) | 
|  | message(FATAL_ERROR "verify-toolchain.cmake is a script and must be invoked " | 
|  | "as:\n 'cmake ... -P verify-toolchain.cmake'\n" | 
|  | ) | 
|  | endif() | 
|  |  | 
|  | if("${FORMAT}" STREQUAL "json") | 
|  | # If executing in script mode and output format is specified, then silence | 
|  | # all other messages as only the specified output should be printed. | 
|  | function(message) | 
|  | endfunction() | 
|  | endif() | 
|  |  | 
|  | set(ZEPHYR_BASE ${CMAKE_CURRENT_LIST_DIR}/../) | 
|  | list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}/modules) | 
|  | find_package(HostTools) | 
|  |  | 
|  | if("${FORMAT}" STREQUAL "json") | 
|  | set(json "{\"ZEPHYR_TOOLCHAIN_VARIANT\" : \"${ZEPHYR_TOOLCHAIN_VARIANT}\", ") | 
|  | string(APPEND json "\"SDK_VERSION\": \"${SDK_VERSION}\", ") | 
|  | string(APPEND json "\"ZEPHYR_SDK_INSTALL_DIR\" : \"${ZEPHYR_SDK_INSTALL_DIR}\"}") | 
|  | _message("${json}") | 
|  | else() | 
|  | message(STATUS "ZEPHYR_TOOLCHAIN_VARIANT: ${ZEPHYR_TOOLCHAIN_VARIANT}") | 
|  | if(DEFINED SDK_VERSION) | 
|  | message(STATUS "SDK_VERSION: ${SDK_VERSION}") | 
|  | endif() | 
|  |  | 
|  | if(DEFINED ZEPHYR_SDK_INSTALL_DIR) | 
|  | message(STATUS "ZEPHYR_SDK_INSTALL_DIR  : ${ZEPHYR_SDK_INSTALL_DIR}") | 
|  | endif() | 
|  | endif() |