From 0bace4e0caeb1f04fbcd54b9ccd65247ada41cab Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 25 Jun 2020 11:52:35 +0200 Subject: [PATCH 1/4] make: pass IDF_ENV_FPGA=n to confgen and mconf Fixes the following warnings: warning: IDF_ENV_FPGA has 'option env="IDF_ENV_FPGA"', but the environment variable IDF_ENV_FPGA is not set --- make/project_config.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/make/project_config.mk b/make/project_config.mk index cfa757520a..7c5c901aa6 100644 --- a/make/project_config.mk +++ b/make/project_config.mk @@ -92,6 +92,7 @@ define RunConfGen --env "COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE=$(COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE)" \ --env "COMPONENT_SDKCONFIG_RENAMES=$(strip $(COMPONENT_SDKCONFIG_RENAMES))" \ --env "IDF_CMAKE=n" \ + --env "IDF_ENV_FPGA=n" \ $(DEFAULTS_ARG) \ --output config ${SDKCONFIG} \ --output makefile $(SDKCONFIG_MAKEFILE) \ @@ -121,6 +122,7 @@ define RunMenuConf COMPONENT_KCONFIGS_SOURCE_FILE="$(COMPONENT_KCONFIGS_SOURCE_FILE)" \ COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE="$(COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE)" \ IDF_CMAKE=n \ + IDF_ENV_FPGA=n \ $(MENUCONFIG_CMD) $(IDF_PATH)/Kconfig endef From b736eebf902ac637bab62fd74b1a424c51ef4da3 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Fri, 26 Jun 2020 11:37:34 +0200 Subject: [PATCH 2/4] cmake: also pass IDF_ENV_FPGA in config.env --- tools/cmake/kconfig.cmake | 3 +-- tools/kconfig_new/config.env.in | 1 + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/cmake/kconfig.cmake b/tools/cmake/kconfig.cmake index 6d8f18a6c1..8db65bdbf4 100644 --- a/tools/cmake/kconfig.cmake +++ b/tools/cmake/kconfig.cmake @@ -140,6 +140,7 @@ function(__kconfig_generate_config sdkconfig sdkconfig_defaults) idf_build_get_property(idf_target IDF_TARGET) idf_build_get_property(idf_path IDF_PATH) + idf_build_get_property(idf_env_fpga __IDF_ENV_FPGA) string(REPLACE ";" " " kconfigs "${kconfigs}") string(REPLACE ";" " " kconfig_projbuilds "${kconfig_projbuilds}") @@ -259,8 +260,6 @@ function(__kconfig_generate_config sdkconfig sdkconfig_defaults) set(TERM_CHECK_CMD ${python} ${idf_path}/tools/check_term.py) endif() - idf_build_get_property(idf_env_fpga __IDF_ENV_FPGA) - # Generate the menuconfig target add_custom_target(menuconfig ${menuconfig_depends} diff --git a/tools/kconfig_new/config.env.in b/tools/kconfig_new/config.env.in index 681115dcd2..292442d5cf 100644 --- a/tools/kconfig_new/config.env.in +++ b/tools/kconfig_new/config.env.in @@ -4,6 +4,7 @@ "COMPONENT_SDKCONFIG_RENAMES": "${sdkconfig_renames}", "IDF_CMAKE": "y", "IDF_TARGET": "${idf_target}", + "IDF_ENV_FPGA": "${idf_env_fpga}", "IDF_PATH": "${idf_path}", "COMPONENT_KCONFIGS_SOURCE_FILE": "${kconfigs_path}", "COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE": "${kconfigs_projbuild_path}" From 23dd439bc8cc794ba45ccd94195007b4bf9e596f Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 25 Jun 2020 21:31:35 +0200 Subject: [PATCH 3/4] ci: be more strict when checking for errors/warnings in build logs Look for "error|warning" anywhere in the line, not just at the start. --- tools/ci/check_build_warnings.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/ci/check_build_warnings.py b/tools/ci/check_build_warnings.py index 3db99e8b18..35e3794e7e 100755 --- a/tools/ci/check_build_warnings.py +++ b/tools/ci/check_build_warnings.py @@ -18,7 +18,7 @@ except ImportError: sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..")) from find_build_apps import BuildItem, setup_logging -WARNING_REGEX = re.compile(r"^\s*(?:error|warning)", re.MULTILINE | re.IGNORECASE) +WARNING_REGEX = re.compile(r"(?:error|warning)", re.MULTILINE | re.IGNORECASE) IGNORE_WARNS = [ re.compile(r_str) for r_str in [ From 1aacb6e2cfcc6d03ac7cc4395b6d9ed5008d40a3 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Fri, 26 Jun 2020 12:12:43 +0200 Subject: [PATCH 4/4] tools: build_apps: fix make warning due to unused TEST_GROUPS variable TEST_GROUPS can be included in the unit-test-app config file, to restrict the list of tests to be executed. However this option is not used at build time, so adding it as a CMake variable along with TEST_COMPONENTS and other options results in a CMake warning. Fix by not passing this variable to CMake, and not including it in the final sdkconfig file. --- tools/find_build_apps/common.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/tools/find_build_apps/common.py b/tools/find_build_apps/common.py index ddc16093a3..81b61859a8 100644 --- a/tools/find_build_apps/common.py +++ b/tools/find_build_apps/common.py @@ -25,6 +25,10 @@ SDKCONFIG_TEST_OPTS = [ "EXCLUDE_COMPONENTS", "TEST_EXCLUDE_COMPONENTS", "TEST_COMPONENTS", +] + +# These keys in sdkconfig.defaults are not propagated to the final sdkconfig file: +SDKCONFIG_IGNORE_OPTS = [ "TEST_GROUPS" ] @@ -268,8 +272,11 @@ class BuildSystem(object): line += "\n" if cls.NAME == 'cmake': m = SDKCONFIG_LINE_REGEX.match(line) - if m and m.group(1) in SDKCONFIG_TEST_OPTS: - extra_cmakecache_items[m.group(1)] = m.group(2) + key = m.group(1) if m else None + if key in SDKCONFIG_TEST_OPTS: + extra_cmakecache_items[key] = m.group(2) + continue + if key in SDKCONFIG_IGNORE_OPTS: continue f_out.write(os.path.expandvars(line)) else: