Merge branch 'bugfix/cmake_env_var_for_kconfig' into 'master'

CMake: Make IDF_PATH available to Kconfiglib when not explicitly set.

See merge request idf/esp-idf!4100
This commit is contained in:
Angus Gratton
2019-01-22 11:11:18 +08:00
2 changed files with 17 additions and 1 deletions

View File

@@ -236,6 +236,21 @@ function run_tests()
mv CMakeLists.txt.bak CMakeLists.txt
assert_built ${APP_BINS} ${BOOTLOADER_BINS} ${PARTITION_BIN}
print_status "Can build with IDF_PATH unset and inferred by cmake when Kconfig needs it to be set"
clean_build_dir
sed -i.bak 's/ENV{IDF_PATH}/{IDF_PATH}/' CMakeLists.txt
export IDF_PATH_BACKUP="$IDF_PATH"
mv main/Kconfig.projbuild main/Kconfig.projbuild_bak
echo "source \"\$IDF_PATH/examples/wifi/getting_started/station/main/Kconfig.projbuild\"" > main/Kconfig.projbuild
(unset IDF_PATH &&
cd build &&
cmake -G Ninja .. -DIDF_PATH=${IDF_PATH_BACKUP} &&
ninja) || failure "Ninja build failed"
mv CMakeLists.txt.bak CMakeLists.txt
mv main/Kconfig.projbuild_bak main/Kconfig.projbuild
assert_built ${APP_BINS} ${BOOTLOADER_BINS} ${PARTITION_BIN}
# Next two tests will use this fake 'esp31b' target
export fake_target=esp31b
mkdir -p components/$fake_target

View File

@@ -63,6 +63,7 @@ function(ldgen_process_template template output)
--env "COMPONENT_KCONFIGS=${COMPONENT_KCONFIGS}"
--env "COMPONENT_KCONFIGS_PROJBUILD=${COMPONENT_KCONFIGS_PROJBUILD}"
--env "IDF_CMAKE=y"
--env "IDF_PATH=${IDF_PATH}"
--env "IDF_TARGET=${IDF_TARGET}"
DEPENDS ${template} $<TARGET_PROPERTY:ldgen,FRAGMENT_FILES> ${SDKCONFIG} ldgen_section_infos
)
@@ -79,4 +80,4 @@ function(ldgen_add_dependencies)
if(IDF_PROJECT_EXECUTABLE)
add_dependencies(${IDF_PROJECT_EXECUTABLE} ldgen)
endif()
endfunction()
endfunction()