diff --git a/cmake/modules/FindDeprecated.cmake b/cmake/modules/FindDeprecated.cmake index eb7626e9353..1f112c9672d 100644 --- a/cmake/modules/FindDeprecated.cmake +++ b/cmake/modules/FindDeprecated.cmake @@ -47,7 +47,7 @@ if("XCC_USE_CLANG" IN_LIST Deprecated_FIND_COMPONENTS) if ("${ZEPHYR_TOOLCHAIN_VARIANT}" STREQUAL "xcc" AND "$ENV{XCC_USE_CLANG}" STREQUAL "1") - set(ZEPHYR_TOOLCHAIN_VARIANT xcc-clang) + set(ZEPHYR_TOOLCHAIN_VARIANT xcc-clang CACHE STRING "Zephyr toolchain variant" FORCE) message(DEPRECATION "XCC_USE_CLANG is deprecated. Please set ZEPHYR_TOOLCHAIN_VARIANT to 'xcc-clang'") endif() endif() @@ -61,7 +61,7 @@ if("CROSS_COMPILE" IN_LIST Deprecated_FIND_COMPONENTS) if(NOT ZEPHYR_TOOLCHAIN_VARIANT AND (CROSS_COMPILE OR (DEFINED ENV{CROSS_COMPILE}))) - set(ZEPHYR_TOOLCHAIN_VARIANT cross-compile) + set(ZEPHYR_TOOLCHAIN_VARIANT cross-compile CACHE STRING "Zephyr toolchain variant" FORCE) message(DEPRECATION "CROSS_COMPILE is deprecated. Please set ZEPHYR_TOOLCHAIN_VARIANT to 'cross-compile'") endif() endif() diff --git a/cmake/modules/FindZephyr-sdk.cmake b/cmake/modules/FindZephyr-sdk.cmake index e7eff17b490..b488c3fae85 100644 --- a/cmake/modules/FindZephyr-sdk.cmake +++ b/cmake/modules/FindZephyr-sdk.cmake @@ -23,13 +23,9 @@ # True if the Zephyr SDK was found. # Set internal variables if set in environment. -if(NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT) - set(ZEPHYR_TOOLCHAIN_VARIANT $ENV{ZEPHYR_TOOLCHAIN_VARIANT}) -endif() +zephyr_get(ZEPHYR_TOOLCHAIN_VARIANT) -if(NOT DEFINED ZEPHYR_SDK_INSTALL_DIR) - set(ZEPHYR_SDK_INSTALL_DIR $ENV{ZEPHYR_SDK_INSTALL_DIR}) -endif() +zephyr_get(ZEPHYR_SDK_INSTALL_DIR) # Load Zephyr SDK Toolchain. # There are three scenarios where Zephyr SDK should be looked up: diff --git a/cmake/toolchain/arcmwdt/generic.cmake b/cmake/toolchain/arcmwdt/generic.cmake index 3c258dfc8c5..6dec614d1cb 100644 --- a/cmake/toolchain/arcmwdt/generic.cmake +++ b/cmake/toolchain/arcmwdt/generic.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(ARCMWDT_TOOLCHAIN_PATH "$ENV{ARCMWDT_TOOLCHAIN_PATH}") -set(ARCMWDT_TOOLCHAIN_PATH ${ARCMWDT_TOOLCHAIN_PATH} CACHE PATH "mwdt tools install directory") +zephyr_get(ARCMWDT_TOOLCHAIN_PATH) assert(ARCMWDT_TOOLCHAIN_PATH "ARCMWDT_TOOLCHAIN_PATH is not set") if(NOT EXISTS ${ARCMWDT_TOOLCHAIN_PATH}) diff --git a/cmake/toolchain/armclang/generic.cmake b/cmake/toolchain/armclang/generic.cmake index 769ba2c2ff0..bd78c8861e4 100644 --- a/cmake/toolchain/armclang/generic.cmake +++ b/cmake/toolchain/armclang/generic.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(ARMCLANG_TOOLCHAIN_PATH "$ENV{ARMCLANG_TOOLCHAIN_PATH}") -set(ARMCLANG_TOOLCHAIN_PATH ${ARMCLANG_TOOLCHAIN_PATH} CACHE PATH "armclang tools install directory") +zephyr_get(ARMCLANG_TOOLCHAIN_PATH) assert(ARMCLANG_TOOLCHAIN_PATH "ARMCLANG_TOOLCHAIN_PATH is not set") if(${CMAKE_VERSION} VERSION_LESS 3.21 diff --git a/cmake/toolchain/espressif/generic.cmake b/cmake/toolchain/espressif/generic.cmake index 0ec5424be83..a1e892f5a15 100644 --- a/cmake/toolchain/espressif/generic.cmake +++ b/cmake/toolchain/espressif/generic.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(ESPRESSIF_TOOLCHAIN_PATH "$ENV{ESPRESSIF_TOOLCHAIN_PATH}") -set( ESPRESSIF_TOOLCHAIN_PATH ${ESPRESSIF_TOOLCHAIN_PATH} CACHE PATH "") +zephyr_get(ESPRESSIF_TOOLCHAIN_PATH) assert( ESPRESSIF_TOOLCHAIN_PATH "ESPRESSIF_TOOLCHAIN_PATH is not set") set(TOOLCHAIN_HOME ${ESPRESSIF_TOOLCHAIN_PATH}) diff --git a/cmake/toolchain/espressif/target.cmake b/cmake/toolchain/espressif/target.cmake index f11f48883ab..cd40b1530a7 100644 --- a/cmake/toolchain/espressif/target.cmake +++ b/cmake/toolchain/espressif/target.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(ESPRESSIF_TOOLCHAIN_PATH "$ENV{ESPRESSIF_TOOLCHAIN_PATH}") -set( ESPRESSIF_TOOLCHAIN_PATH ${ESPRESSIF_TOOLCHAIN_PATH} CACHE PATH "") +zephyr_get(ESPRESSIF_TOOLCHAIN_PATH) assert( ESPRESSIF_TOOLCHAIN_PATH "ESPRESSIF_TOOLCHAIN_PATH is not set") set(COMPILER gcc) diff --git a/cmake/toolchain/gnuarmemb/generic.cmake b/cmake/toolchain/gnuarmemb/generic.cmake index 6eb04b32ae4..db59e5fc707 100644 --- a/cmake/toolchain/gnuarmemb/generic.cmake +++ b/cmake/toolchain/gnuarmemb/generic.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(GNUARMEMB_TOOLCHAIN_PATH "$ENV{GNUARMEMB_TOOLCHAIN_PATH}") -set( GNUARMEMB_TOOLCHAIN_PATH ${GNUARMEMB_TOOLCHAIN_PATH} CACHE PATH "gnuarmemb install directory") +zephyr_get(GNUARMEMB_TOOLCHAIN_PATH) assert( GNUARMEMB_TOOLCHAIN_PATH "GNUARMEMB_TOOLCHAIN_PATH is not set") if(NOT EXISTS ${GNUARMEMB_TOOLCHAIN_PATH}) diff --git a/cmake/toolchain/llvm/generic.cmake b/cmake/toolchain/llvm/generic.cmake index 0f24abbe98b..3cdf6d51ca5 100644 --- a/cmake/toolchain/llvm/generic.cmake +++ b/cmake/toolchain/llvm/generic.cmake @@ -1,7 +1,9 @@ # SPDX-License-Identifier: Apache-2.0 +# Todo: deprecate CLANG_ROOT_DIR set_ifndef(LLVM_TOOLCHAIN_PATH "$ENV{CLANG_ROOT_DIR}") -set_ifndef(LLVM_TOOLCHAIN_PATH "$ENV{LLVM_TOOLCHAIN_PATH}") +zephyr_get(LLVM_TOOLCHAIN_PATH) + if(LLVM_TOOLCHAIN_PATH) set(TOOLCHAIN_HOME ${LLVM_TOOLCHAIN_PATH}/bin/) endif() diff --git a/cmake/toolchain/oneApi/generic.cmake b/cmake/toolchain/oneApi/generic.cmake index 011998c53f7..c72a7a873db 100644 --- a/cmake/toolchain/oneApi/generic.cmake +++ b/cmake/toolchain/oneApi/generic.cmake @@ -1,9 +1,9 @@ # SPDX-License-Identifier: Apache-2.0 -if($ENV{ONEAPI_ROOT}) - set_ifndef(ONEAPI_TOOLCHAIN_PATH "$ENV{ONEAPI_ROOT}") +if(DEFINED ENV{ONEAPI_ROOT}) + set_ifndef(ONEAPI_TOOLCHAIN_PATH $ENV{ONEAPI_ROOT}) else() - set_ifndef(ONEAPI_TOOLCHAIN_PATH "$ENV{ONEAPI_TOOLCHAIN_PATH}") + zephyr_get(ONEAPI_TOOLCHAIN_PATH) endif() # the default oneApi installation path is related to os diff --git a/cmake/toolchain/xcc/common.cmake b/cmake/toolchain/xcc/common.cmake index 756c1cf3df9..7bca32f4e45 100644 --- a/cmake/toolchain/xcc/common.cmake +++ b/cmake/toolchain/xcc/common.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(XTENSA_TOOLCHAIN_PATH "$ENV{XTENSA_TOOLCHAIN_PATH}") -set( XTENSA_TOOLCHAIN_PATH ${XTENSA_TOOLCHAIN_PATH} CACHE PATH "xtensa tools install directory") +zephyr_get(XTENSA_TOOLCHAIN_PATH) assert( XTENSA_TOOLCHAIN_PATH "XTENSA_TOOLCHAIN_PATH is not set") if(NOT EXISTS ${XTENSA_TOOLCHAIN_PATH}) diff --git a/cmake/toolchain/xtools/generic.cmake b/cmake/toolchain/xtools/generic.cmake index f4836eb5775..bec6bd09c0e 100644 --- a/cmake/toolchain/xtools/generic.cmake +++ b/cmake/toolchain/xtools/generic.cmake @@ -1,7 +1,6 @@ # SPDX-License-Identifier: Apache-2.0 -set_ifndef(XTOOLS_TOOLCHAIN_PATH "$ENV{XTOOLS_TOOLCHAIN_PATH}") -set( XTOOLS_TOOLCHAIN_PATH ${XTOOLS_TOOLCHAIN_PATH} CACHE PATH "") +zephyr_get(XTOOLS_TOOLCHAIN_PATH) assert( XTOOLS_TOOLCHAIN_PATH "XTOOLS_TOOLCHAIN_PATH is not set") set(TOOLCHAIN_HOME ${XTOOLS_TOOLCHAIN_PATH})