Hi William,
Thanks for your patience in working through this.
william.ferguson.au wrote: ↑Tue Jul 23, 2019 7:05 pm
I'm using the esp-idf release/v3.3 branch 91f29bef172a082cbd8f0208ed1757ede0e1d635 (which still identifies as -- IDF_VER: v3.3-beta1-864-g91f29bef1 during the build for some reason).
This is a bug in CMake-based build system that's fixed on master but we didn't backport the fix to 3.3. CMake build system runs "git describe" not "git describe --tags". The difference is that without "--tags" only annotated tags are considered, and the beta3 tag was accidentally not annotated.
We're annotating all tags from now on (and master branch build system uses "git describe --tags", so if we do accidentally create a non-annotated tag in the future then it won't trigger this inconsistency.)
william.ferguson.au wrote: ↑Tue Jul 23, 2019 7:05 pm
I tried adding a custom command to the app target (in both the project folder and main folder) but it keeps coming back with:
Code: Select all
CMake Error at main/CMakeLists.txt:8 (add_custom_command):
TARGET 'app' was not created in this directory.
This was the command I added:
Code: Select all
add_custom_command(
TARGET app
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E echo bin=${build_dir}/${PROJECT_BIN}
COMMENT "Copying esp32 binary output to SomeFolder"
)
NB this is on Windows 10.
I see, sorry for the bad advice before. I'll try to find a recipe to do this reliably and get back to you.
william.ferguson.au wrote: ↑Tue Jul 23, 2019 7:05 pm
I tried esp-idf master, but it fails because it can't resolve component 'ethernet' (NB I don't have any such component).
I'm not sure what caused this. The "ethernet" component is in v3.x but not v4.x (it was renamed esp_eth in master). I tried building with the 3.3 commit you're using and then switching to master branch and building again, but it builds fine for me.
Maybe some stale content in IDF_PATH? Does "git status" in the IDF_PATH directory show anything?
Side question:
What is the branch/tag policy with esp-idf?
Some explanation can be found here:
https://docs.espressif.com/projects/esp ... nt-version
Do tags slip? A name like v4.0-dev (and the fact that there is no v4.0 branch) implies that they do?
In which case what are the branches for?
This should answer this question, please let me know if anything is still unclear:
https://docs.espressif.com/projects/esp ... t-workflow
Specifically: v4.0 is still in development (v4.0-dev), so there is no v4.0 release or prerelease yet. Until we start beta testing (and master becomes v4.1-dev) then there will be no release/v4.0 branch. This step will happen in the week or two, probably.
And what esp-idf SCM labels should I be using to ensure that my build remains the same from one day to the next and machine to machine?
Some details here, but again please let me know if any remaining questions:
https://docs.espressif.com/projects/esp ... start-with
In all cases, if the output of either "git describe --tags --dirty" is the same for two IDF directories (and the word "dirty" doesn't appear in the output, indicating no local IDF changes are "dirtying" the working directory) then the IDF code is all the same. Or you can use git commit hashes to identify them, also.
If you're looking for consistency then I'd recommend checking out a stable version or a prerelease tag, as described at link above.