| # SPDX-License-Identifier: Apache-2.0 |
| # |
| # Copyright (c) 2021, Nordic Semiconductor ASA |
| |
| # Configure SoC settings based on Kconfig settings. |
| # |
| # This CMake module will set the following variables in the build system based |
| # on Kconfig settings for the selected SoC. |
| # |
| # Outcome: |
| # The following variables will be defined when this CMake module completes: |
| # |
| # - SOC_NAME: Name of the SoC in use, identical to CONFIG_SOC |
| # - SOC_SERIES: Name of the SoC series in use, identical to CONFIG_SOC_SERIES |
| # - SOC_FAMILY: Name of the SoC family, identical to CONFIG_SOC_FAMILY |
| # |
| # Variables set by this module and not mentioned above are considered internal |
| # use only and may be removed, renamed, or re-purposed without prior notice. |
| |
| include_guard(GLOBAL) |
| |
| include(kconfig) |
| |
| if(HWMv2) |
| set(SOC_NAME ${CONFIG_SOC}) |
| set(SOC_SERIES ${CONFIG_SOC_SERIES}) |
| set(SOC_TOOLCHAIN_NAME ${CONFIG_SOC_TOOLCHAIN_NAME}) |
| set(SOC_FAMILY ${CONFIG_SOC_FAMILY}) |
| set(SOC_V2_DIR ${SOC_${SOC_NAME}_DIR}) |
| set(SOC_FULL_DIR ${SOC_V2_DIR} CACHE PATH "Path to the SoC directory." FORCE) |
| set(SOC_DIRECTORIES ${SOC_${SOC_NAME}_DIRECTORIES} CACHE INTERNAL |
| "List of SoC directories for SoC (${SOC_NAME})" FORCE |
| ) |
| foreach(dir ${SOC_DIRECTORIES}) |
| set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/soc.yml) |
| endforeach() |
| endif() |