# SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD # # SPDX-License-Identifier: Apache-2.0 # Parse config files (.conf, format: =) and set each as # definitions and variables function(parse_and_set_config_file CONFIG_FILE) file(STRINGS ${CONFIG_FILE} BOOTLOADER_CONF) foreach(config ${BOOTLOADER_CONF}) if (NOT (${config} MATCHES "#")) string(REGEX REPLACE "^[ ]+" "" config ${config}) string(REGEX MATCH "^[^=]+" CONFIG_NAME ${config}) string(REPLACE "${CONFIG_NAME}=" "" CONFIG_VALUE ${config}) # Overrides if already defined (definitions from latter file prevails over the former) if (DEFINED ${CONFIG_NAME}) set(CONFIG_OLD "${CONFIG_NAME}") remove_definitions(-D${CONFIG_NAME}=${${CONFIG_OLD}}) endif() if (NOT ("${CONFIG_VALUE}" STREQUAL "n" OR "${CONFIG_VALUE}" STREQUAL "N")) if (("${CONFIG_VALUE}" STREQUAL "y") OR ("${CONFIG_VALUE}" STREQUAL "Y")) set(CONFIG_VALUE 1) endif() add_compile_definitions(${CONFIG_NAME}=${CONFIG_VALUE}) set(${CONFIG_NAME} ${CONFIG_VALUE} PARENT_SCOPE) endif() endif() endforeach() endfunction()