47 lines
1.6 KiB
CMake
47 lines
1.6 KiB
CMake
|
# 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()
|