Ivan Grokhotkov
06c0b8a5d0
cmake: don't search for toolchain files in component directory
...
This feature was added when we thought that target components might be
added out of IDF tree. That never became possible, and with recent
changes in IDF architecture it is unlikely that this feature will be
necessary any time soon. Remove it, simplifying the code.
2021-09-16 10:54:27 +02:00
Ivan Grokhotkov
14e600801e
cmake: allow selection of clang based toolchain
...
This is an experimental feature intended at the moment for ESP-IDF
developers only.
If IDF_TOOLCHAIN=clang environment variable or CMake variable is set,
use toolchain-clang-esp32xx.cmake instead of toolchain-esp32xx.cmake.
These changes aren't sufficient to actually build any IDF project with
clang; subsequent commits add a few workarounds required to do this.
Toolchain files are added for esp32 and esp32s2, which are the targets
supported in our llvm-project fork at the moment.
2021-09-16 10:54:27 +02:00
Sergei Silnov
37b791e242
Build System: Don't track dependencies.lock
2021-08-30 13:23:23 +02:00
Jakob Hasse
376559d14c
[cmake]: fixed FPGA setting during early build
2021-08-26 10:11:56 +08:00
Jakob Hasse
b3271a51af
Merge branch 'bugfix/common_components_linux' into 'master'
...
[build system]: Fixed common requirement for Linux target
Closes IDF-3638
See merge request espressif/esp-idf!14743
2021-08-17 08:48:38 +00:00
Zim Kalinowski
1c690aa5d2
Merge branch 'feature/bootloader_components_kconfig_in_menuconfig' into 'master'
...
bootloader: Kconfig files in bootloader_components is now part of menuconfig
Closes IDF-3696
See merge request espressif/esp-idf!14740
2021-08-16 06:01:50 +00:00
Jakob Hasse
7029f0537e
[build system]: Fixed common requirement for Linux
2021-08-13 16:50:29 +08:00
Jakob Hasse
dd3f43ca2d
[build system]: add ruby check before mocking
2021-08-13 14:31:44 +08:00
Omar Chebib
339454ff19
bootloader: Kconfig files in bootloader_components is now part of menuconfig
...
It is now possible to configure the options (Kconfig) of bootloader components
directly from the menuconfig
2021-08-12 10:43:00 +08:00
Jakob Hasse
e8082ed6c7
[cmake]: fix idf_component_mock requirement macro
2021-07-28 18:50:43 +08:00
Martina
1e5a2f92c3
feature/update_cmake: Update of outdated CMake version 3.16.4->3.20.3 and CCache version 3.7->4.3 in tools.json
...
Closes https://github.com/espressif/esp-idf/issues/7083
2021-07-26 21:30:59 +08:00
Fu Hanxi
69650e0c18
Merge branch 'feature/espcoredump_test_refactor' into 'master'
...
Feature: espcoredump test refactor
See merge request espressif/esp-idf!13092
2021-07-22 04:35:58 +00:00
Fu Hanxi
a6068ef259
Merge branch 'feature/pass_idf_version_to_component_manager' into 'master'
...
feat: pass idf version to component manager
See merge request espressif/esp-idf!14343
2021-07-22 04:04:19 +00:00
Ivan Grokhotkov
2f811b7975
cmake: sort lists obtained from file(GLOB)
...
CMake sorts result of file(GLOB) command since version 3.6.0:
https://gitlab.kitware.com/cmake/cmake/-/commit/edcccde7d
Since ESP-IDF sets cmake_minimum_required version to 3.5, and version
3.5.1 is used in CI, sort file lists obtained from file(GLOB)
manually.
This helps obtain reproducible order of libraries passed to the linker
and to ldgen.
2021-07-22 10:14:33 +08:00
Jakob Hasse
366ede3ffb
[cmake]: Fixed mock register function
...
* REQUIRES was missing from multi value args
2021-07-19 13:57:19 +08:00
Fu Hanxi
b26b6d7dc9
feat: set IDF_VERSION to environment variable
2021-07-16 12:01:57 +08:00
Shu Chen
75bd02bd46
esp32h2: add some more fixes and TODOs
2021-07-01 20:36:39 +08:00
Shu Chen
2b9e8fed71
esp32h2: add esp32h2 build target
...
Add esp32h2 support in the following components:
* Kconfig
* components/esptool_py
* components/riscv
* components/xtensa
* tools
2021-07-01 19:51:33 +08:00
Anton Maklakov
f01002d2fc
tools: stop building if compiler is unsupported
2021-06-28 23:36:15 +08:00
Jakob Hasse
79b0256d63
[driver]: partial mocking of driver component
...
* added mocking of spi master and gpio
* mock registering in one function in
component.cmake
2021-06-24 10:10:29 +08:00
Alex Lisitsyn
ea6710ce98
soc/hal: add tinyusb support esp32s3
...
add usb hal/soc, usb_ll files and esp32s3 target for usb
move usb_hal.h into soc common folder
soc/hal: fix soc and periph for usb
tinyusb: fix tinyusb io header
hal: usb_ll fix pull up/down config for esp32s3
soc/hal: fix peripheral addresses
2021-05-06 16:20:54 +08:00
Martin Gano
1546e970db
Merge branch 'master' into 'feature/refactor-idf-monitor'
...
# Conflicts:
# tools/ci/mypy_ignore_list.txt
2021-04-13 20:55:19 +08:00
Angus Gratton
a5faf86934
Merge branch 'bugfix/override_cmake_python' into 'master'
...
cmake: Minor Python CMake build fixes
Closes IDFGH-4454
See merge request espressif/esp-idf!12975
2021-04-13 03:39:16 +00:00
Martin Gaňo
b77addea2f
Decompose idf_monitor.py
2021-04-12 10:47:33 +02:00
Angus Gratton
5a8e9ef2bc
cmake: Improve the error message if the Python interpreter fails to run
...
RESULT_VARIABLE will return a string not a number in this case, so display it
for the user.
2021-04-01 09:51:28 +11:00
Angus Gratton
886c465120
cmake: Set IDFTOOL variable using the correct PYTHON interpreter variable
2021-04-01 09:51:26 +11:00
Angus Gratton
7a2c126054
cmake: Fix passing PYTHON path via CMake variable if using IDF as library
...
Closes https://github.com/espressif/esp-idf/issues/6285
2021-04-01 09:50:56 +11:00
Renz Bagaporo
b5c3d4f615
cmake: swap priority between EXTRA_COMPONENT_DIRS and project components
2021-03-22 19:01:33 +08:00
No One
8416e724c0
build system: fix NOTFOUND git version error
...
CMake would fail to find the git version of the IDF repo due to
not being able to parse the whitespace in the git describe command
2021-02-26 14:39:23 +08:00
Angus Gratton
0f62d0dd9b
Merge branch 'bugfix/git_describe' into 'master'
...
tools: Use git describe --match for filtering out internal names
Closes IDF-2410
See merge request espressif/esp-idf!12398
2021-02-25 07:23:38 +00:00
Renz Bagaporo
43f6c7a533
esp_common: simplify component build script
2021-02-24 12:16:37 +08:00
Roland Dobai
48488f1683
tools: Use git describe --match for filtering out internal names
2021-02-23 06:55:21 +00:00
Angus Gratton
e22de81955
Merge branch 'feature/idfpy_update_component_manager_tests' into 'master'
...
CMake - process dependencies for all components by component manager
Closes PACMAN-87
See merge request espressif/esp-idf!9357
2021-02-12 11:28:18 +08:00
Angus Gratton
c8315e0110
version: Update to v4.4-dev
2021-02-10 16:07:24 +11:00
Sergei Silnov
a5981c12c2
Move call for component manager to build.cmake
2021-02-04 15:07:23 +01:00
Angus Gratton
8dbb14b469
system: Log a warning when booting bootloader or app configured for FPGA use
...
Such a firmware may appear to work on normal chip, but not everything will function as expected.
2021-02-01 14:24:38 +11:00
Sergei Silnov
99bf2ed61d
idf.py: remove mentions of idf_project.yml and update tests
2021-01-29 23:08:47 +01:00
Angus Gratton
526f9507de
Merge branch 'bugfix/linux_host_build_clang' into 'master'
...
build system: don't add GCC-specific options when building with clang
See merge request espressif/esp-idf!12066
2021-01-27 15:17:19 +08:00
Fu Hanxi
0146f258d7
style: format python files with isort and double-quote-string-fixer
2021-01-26 10:49:01 +08:00
Ivan Grokhotkov
ed7fbfefac
build system: don't add GCC-specific options when building with clang
2021-01-24 12:48:29 +01:00
Renz Bagaporo
32206d3a7d
ci: enabled ldgen mapping check in ci
2021-01-19 11:17:18 +08:00
Angus Gratton
60ec13b122
Merge branch 'feature/make_uf2' into 'master'
...
tools: Wrap flash binaries into a UF2 file for flashing through USB MSC
See merge request espressif/esp-idf!11587
2021-01-05 07:17:27 +08:00
Marius Vikhammer
7fe16bae25
tools: merge C3 changes into master
2020-12-30 07:04:12 +08:00
Roland Dobai
548ea1bdd5
tools: Wrap flash binaries into a UF2 file for flashing through USB MSC
...
@mmoskal This commit adds basic support for UF2 into ESP-IDF.
2020-12-29 18:14:47 +01:00
Angus Gratton
912cee03a4
cmake: Add esp32c3 toolchain file
2020-12-24 14:18:02 +11:00
Angus Gratton
289a643896
Merge branch 'bugfix/cmake_export_ver_during_reqs_expansion' into 'master'
...
cmake: set IDF_VERSION_* variables at requirement expansion stage
Closes IDF-2509
See merge request espressif/esp-idf!11637
2020-12-17 12:19:36 +08:00
Ivan Grokhotkov
792dc6ebb8
Merge branch 'feature/linux_target' into 'master'
...
build system: Add Linux target
Closes IDF-2145
See merge request espressif/esp-idf!10076
2020-12-16 16:25:38 +08:00
Ivan Grokhotkov
19498791a5
cmake: set IDF_VERSION_* variables at requirement expansion stage
...
Currently IDF_VERSION_* variables are not available to the component
CMakeLists.txt files at the requirements expansion stage. This makes
it harder to write component CMakeLists files compatible with
different IDF versions.
Include version.cmake from the requirements expansion script, add a
build system test.
2020-12-15 20:53:19 +01:00
Jakob Hasse
52093fa4ef
linux: added linux target
...
* add toolchain file
* add linux to preview targets
* add stub for dfu number in cmake
* excluded unity runner per default
* Added esp_attr.h and esp_partition.h linux stubs
* component.cmake check list for emptyness
* added switch for linux in unity cmake file
* Added Linux host example app
2020-12-14 18:53:14 +08:00
Jakob Hasse
901925ebc5
CMake: Fix issue in newer cmake versions
...
* Fixes following error:
can not determine linker language
for target: __idf_newlib
2020-12-14 18:53:14 +08:00
Roland Dobai
3587203495
tools: Invoke menuconfig as named module
...
Closes https://github.com/espressif/esp-idf/issues/6248
2020-12-13 08:07:00 +01:00
Michael (XIAO Xufeng)
b52c764bf3
idf_size.py: add support for esp32c3 and risc-v
2020-11-13 07:49:11 +11:00
Angus Gratton
420aef1ffe
Updates for riscv support
...
* Target components pull in xtensa component directly
* Use CPU HAL where applicable
* Remove unnecessary xtensa headers
* Compilation changes necessary to support non-xtensa gcc types (ie int32_t/uint32_t is no
longer signed/unsigned int).
Changes come from internal branch commit a6723fc
2020-11-13 07:49:11 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Fu Hanxi
bcc8f2628c
CI: Add pre-commit for esp-idf project.
...
add tools/ci/python_packages/idf_ci.py for some util functions used in
ci and needs multi-os solution
2020-11-02 15:49:13 +08:00
Renz Bagaporo
988be69466
esp_hw_support: create component
2020-10-28 07:21:29 +08:00
Angus Gratton
b351ffa557
cmake: Log the project sdkconfig path as part of normal CMake status output
...
As discussed in footnote to https://github.com/espressif/esp-idf/issues/5251#issuecomment-625563782
2020-10-14 19:30:30 +11:00
Roland Dobai
883cbc416e
tools: Use kconfiglib from package
2020-09-22 11:29:30 +02:00
Michael (XIAO Xufeng)
5425ef4ee4
hal: extract hal component from soc component
2020-09-01 13:25:32 +08:00
Angus Gratton
a9dd9e3017
Merge branch 'feature/embed_generated_files' into 'master'
...
cmake: allow embedding files to be dependent on a target
See merge request espressif/esp-idf!8535
2020-08-04 14:39:49 +08:00
Angus Gratton
f092054f3d
Merge branch 'feature/hidden_link_as_a_group' into 'master'
...
cmake: add hidden option to link components as group
See merge request espressif/esp-idf!9617
2020-07-20 08:42:03 +08:00
Angus Gratton
eb43872361
version: Update to v4.3.0
...
v4.3.0-dev is tagged where the branches diverged, catching up with the
remaining metadata here.
2020-07-15 13:56:05 +10:00
Renz Bagaporo
7b9ab1e597
cmake: add hidden option to link components as group
...
Adds a hidden option to link components in projects as one big group for
debugging purposes. Makes it easy to single out if symbols are not
really defined or some requirements are missing for components leading
to undefined link errors.
2020-07-15 08:05:33 +08:00
Renz Bagaporo
565dc4ba4b
cmake: convert python path to cmake path
2020-07-09 12:07:45 +08:00
Renz Bagaporo
c957482d6d
cmake: remove cmake ver specification for early exp script
2020-07-09 12:07:45 +08:00
Ivan Grokhotkov
b736eebf90
cmake: also pass IDF_ENV_FPGA in config.env
2020-06-26 11:37:50 +02:00
Ivan Grokhotkov
4e9e582134
Merge branch 'bugfix/check_missing_IDF_ENV_FPGA_environment' into 'master'
...
kconfig: fix IDF_ENV_FPGA not found
See merge request espressif/esp-idf!9200
2020-06-19 18:15:00 +08:00
Angus Gratton
b3ef89942f
Merge branch 'feature/cmake_overriding_components_new_features' into 'master'
...
CMake: useful features for overriding components
See merge request espressif/esp-idf!8220
2020-06-19 11:56:56 +08:00
morris
c963440a97
kconfig: fix IDF_ENV_FPGA not found
2020-06-17 21:39:22 +08:00
Renz Bagaporo
bd55cdff02
cmake: allow calling get component property in early expansion
2020-06-16 20:42:00 +08:00
Renz Bagaporo
ebf07d353d
cmake: allow overriding kconfig, kconfig_projbuild on registration
2020-06-16 20:42:00 +08:00
Renz Bagaporo
f8d0c5770b
cmake: take note of component overriden dir
2020-06-16 20:42:00 +08:00
Renz Bagaporo
01a7db799f
cmake: fix C identifier generation from embedded file
2020-06-16 17:05:46 +08:00
Ivan Grokhotkov
2db04d6e95
Merge branch 'feature/add_esp32s3_rom_symbol' into 'master'
...
add esp32s3 preview target and rom symbol & header
Closes IDFGH-3474
See merge request espressif/esp-idf!9127
2020-06-16 06:38:43 +08:00
Angus Gratton
534114879c
Merge branch 'bugfix/fix_extra_component_dirs_ordering' into 'master'
...
cmake: fix extra component dir ordering
See merge request espressif/esp-idf!7731
2020-06-15 12:16:52 +08:00
morris
067b1b91c2
global: add new target name: esp32-s3
...
add target name, chip ID, toochain descriptions for ESP32-S3
2020-06-11 21:40:08 +08:00
Ivan Grokhotkov
7283b99c97
Merge branch 'feature/dfu_select_device' into 'master'
...
Add ability to select a device for DFU flashing
Closes IDF-1652
See merge request espressif/esp-idf!8956
2020-06-08 15:55:04 +08:00
Angus Gratton
7270c921be
Merge branch 'bugfix/idf_as_lib_not_in_top_level' into 'master'
...
CMake: Fix issue when `idf_build_process` is called from a subdirectory
Closes IDF-1651
See merge request espressif/esp-idf!8722
2020-06-04 16:51:55 +08:00
Renz Christian Bagaporo
7f37fb81ca
cmake: fix extra component dir ordering
2020-06-02 15:43:03 +08:00
Roland Dobai
0ff8ec66e4
Add ability to select a device for DFU flashing
2020-05-28 09:31:35 +02:00
Renz Christian Bagaporo
ba579d66ba
cmake: add comment that IDF build target must be global
2020-05-18 16:38:07 +08:00
Renz Bagaporo
740819529b
cmake: fix setting defaults in idf_build_process
...
Closes https://github.com/espressif/esp-idf/issues/5053
2020-05-14 14:59:26 +00:00
Renz Bagaporo
a0f3f1e0cb
cmake: make __idf_build_target global
2020-05-13 15:38:20 +08:00
Roland Dobai
ab9f714248
Add build system support for programming ESP32-S2 using DFU utils
2020-04-30 07:59:18 +02:00
Renz Bagaporo
aed204ce6f
cmake: allow embedding to depend on a target
2020-04-29 12:34:25 +08:00
Roland Dobai
4f8e2699db
tools: Make Unicode from subprocess result in the CMake convert script
...
Fixes an issue with Python 3 in MSYS where it fails while trying to join
paths where one part is Unicode (default string on Python3) and the
second part are bytes (returned by the subprocess call).
Closes https://github.com/espressif/esp-idf/issues/5189
2020-04-27 16:15:52 +02:00
Renz Bagaporo
bd8f616f82
cmake: fix getting component requirements
2020-04-08 05:42:15 +00:00
Renz Bagaporo
07f9978df7
cmake: add elf dir information
...
Solves https://www.esp32.com/viewtopic.php?f=13&t=14784&p=57557&hilit=assumes#p57557
2020-04-07 17:19:33 +08:00
Ivan Grokhotkov
e94288da31
global: use '/usr/bin/env bash' instead of '/usr/bin/bash' in shebangs
...
Using the method from @cemeyer
(https://github.com/espressif/esp-idf/pull/3166 ):
find . -name \*.sh -exec sed -i "" -e 's|^#!.*bin/bash|#!/usr/bin/env bash|' {} +
Closes https://github.com/espressif/esp-idf/pull/3166 .
2020-04-03 01:10:02 +02:00
Angus Gratton
207914a13a
Merge branch 'refactor/common_code_panic_handler' into 'master'
...
Panic handling common code refactor
See merge request espressif/esp-idf!7489
2020-03-19 11:23:57 +08:00
Renz Christian Bagaporo
2b100789b7
esp32, esp32s2: move panic handling code to new component
2020-03-10 19:56:24 +08:00
Angus Gratton
2f1815f74e
Merge branch 'bugfix/cmake_issues' into 'master'
...
CMake bugfixes
See merge request espressif/esp-idf!7605
2020-03-06 14:36:59 +08:00
Angus Gratton
8887f79bef
cmake: Add warnings that convert_to_cmake.py doesn't calculate component requirements
...
Any component which requires another component will need this manually
added to its CMakeLists.txt file.
2020-03-02 14:45:03 +11:00
Angus Gratton
ee8557f69d
cmake: convert_to_cmake: Fix possible whitespace issues
...
As reported on forum:
https://esp32.com/viewtopic.php?f=2&t=13565&p=53476#p53453
split() with no arg will match any whitespace sequence not just
a single space, so takes care of case where two spaces are
inserted in the variable value.
2020-03-02 14:44:16 +11:00
Renz Christian Bagaporo
f64a3c2a66
cmake: utility to create a failing target
2020-03-02 07:18:22 +05:00
Roland Dobai
1821ee8851
tools: Add proper multi-chip support for idf_size.py
2020-02-27 19:50:05 +01:00
Renz Christian Bagaporo
ab84c73244
cmake: add subdirectory if exists utility
2020-02-18 17:16:06 +05:00
Ivan Grokhotkov
90af8531d8
esp32s2: remove -nostdlib accidentally added
...
-nostdlib was removed in 9a2af7a
and then accidentally added
in 1c2cc54
.
The issue manifested itself as a failure to link some symbols from
libgcc, even though libgcc should implicitly appear at the end of the
linker command line when -nostdlib is not given.
2020-01-23 17:00:31 +01:00
morris
e30cd361a8
global: rename esp32s2beta to esp32s2
2020-01-22 12:14:38 +08:00
Ivan Grokhotkov
c11f77cb1a
Merge branch 'feature/use_underlying_cmake_targets_for_idf_py' into 'master'
...
CMake: Use underlying flash targets for idf.py
See merge request espressif/esp-idf!7067
2020-01-21 17:05:47 +08:00
morris
1c2cc5430e
global: bring up esp32s2(not beta)
2020-01-16 17:41:31 +08:00
KonstantinKondrashov
b49a657448
build: Add CONFIG_APP_PROJECT_VER to set the project version from Kconfig
2020-01-15 11:02:27 +00:00
Renz Christian Bagaporo
38b3fbfbfb
cmake: add description to add_prebuild_library utility
2020-01-15 03:36:47 +00:00
Renz Christian Bagaporo
cc8bff703e
esptool_py: create flash target functions
2020-01-15 03:36:47 +00:00
Ivan Grokhotkov
5466ff3f4d
global: bump version to 4.2
2020-01-15 10:22:22 +08:00
Angus Gratton
65dad0d46f
build system: Remove some dependencies from esp32 & esp32s2beta
...
Possible now that wifi related source files are all in esp_wifi
2020-01-08 18:13:12 +11:00
Sergei Silnov
dfafa98253
Use component manager if available as python package
2019-12-19 16:48:36 +01:00
Renz Christian Bagaporo
91b421c35f
cmake: implement utility to import prebuilt libraries
2019-12-10 19:22:25 +08:00
Ivan Grokhotkov
2f20ad523c
Merge branch 'bugfix/menuconfig_term_warning' into 'master'
...
Give info and warnings about the TERM environment variable
See merge request espressif/esp-idf!6717
2019-12-09 22:38:24 +08:00
He Yin Ling
a11b15b92b
CI: build system do not check submodule for CI
2019-12-08 20:32:10 +08:00
Roland Dobai
d1541c74a6
Give info and warnings about the TERM environment variable
2019-12-02 09:49:21 +01:00
Ivan Grokhotkov
a9b7f74f7f
Merge branch 'bugfix/macos_link_toomany_open_files' into 'master'
...
build system: explicitly disable LTO plugin to reduce the number of simultaneously open files
Closes IDF-923 and IDFGH-1764
See merge request espressif/esp-idf!6776
2019-11-28 01:38:53 +08:00
Ivan Grokhotkov
f49a78d543
build system: explicitly disable LTO plugin
...
... to reduce the number of simultaneously open files at link time.
When plugin support is enabled in the linker, BFD's (and the
corresponding file handles) are cached for the plugin to use. This
results in quite a large number of simultaneously open files, which
hits the default limit on macOS (256 files).
Since we aren't using LTO now, disable it explicitly when invoking the
linker.
Closes IDF-923
Closes IDFGH-1764
Closes https://github.com/espressif/esp-idf/issues/3989
2019-11-26 19:12:56 +01:00
Roland Dobai
bd2fc9f832
Make menuconfig colors configurable
...
Closes https://github.com/espressif/esp-idf/issues/4387
2019-11-26 10:40:34 +01:00
Roland Dobai
be749395c4
Menuconfig: Don't ask to save configuration when nothing has changed
...
Closes https://github.com/espressif/esp-idf/issues/4303
2019-11-21 06:47:11 +00:00
Angus Gratton
bc3233782b
Merge branch 'feature/remove_gcc5_support' into 'master'
...
global: remove gcc 5.2 support
Closes IDF-1131
See merge request espressif/esp-idf!6608
2019-11-21 09:08:41 +08:00
Ivan Grokhotkov
9a2af7ae33
global: remove gcc 5.2 support
2019-11-20 11:17:27 +01:00
Roland Dobai
84d5cc1c17
Generate source files for kconfiglib from the build system
2019-11-15 15:25:09 +00:00
Angus Gratton
9efbe1bb47
Merge branch 'bugfix/support_worktree_on_cmake' into 'master'
...
cmake: support git worktree
See merge request espressif/esp-idf!6581
2019-11-14 16:00:47 +08:00
Angus Gratton
75488f1806
Merge branch 'bugfix/cmake_secure_boot' into 'master'
...
secure boot: CMake bug fixes
See merge request espressif/esp-idf!6523
2019-11-08 10:58:04 +08:00
Renz Christian Bagaporo
9d33ad5e25
cmake: support git worktree
...
Use rev-parse to get the HEAD directory instead of manually looking for
it. This method works in the main repository, worktrees and submodules.
Closes https://github.com/espressif/esp-idf/issues/4136
2019-11-05 15:32:35 +08:00
Renz Christian Bagaporo
42d4f39a9a
cmake: consider sdkconfig defaults value from environment
2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
bf1df9b5b5
cmake: do not check if sdkconfig exists
2019-11-03 16:43:58 +08:00
Renz Christian Bagaporo
d43cc4fa4b
cmake: allow multiple sdkconfig defaults to be specified
2019-11-03 16:43:58 +08:00
Roland Dobai
01887f71e7
Update kconfiglib to upstream version and replace mconf-idf
...
Special thanks to @ulfalizer for the helpful suggestions regarding
kconfiglib.
"rsource" option is available for relative path includes
Closes https://github.com/espressif/esp-idf/issues/4064
2019-10-29 10:40:04 +01:00
Angus Gratton
f4ea7c5a46
cmake: Set uninitialized variable warnings in ULP & bootloader subprojects
...
Fixes issue where PYTHON was not being expanded when running ulp_mapgen.py,
causing Windows launch setting to be used - reported here:
https://esp32.com/viewtopic.php?f=13&t=12640&p=50283#p50283
2019-10-29 05:38:39 +00:00
Angus Gratton
e8881352c5
secure boot: Fix bug where verification key was not embedded in app
2019-10-29 12:46:09 +11:00
Angus Gratton
8675a818f9
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-22 13:51:49 +11:00
Angus Gratton
496ede9bcd
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-15 14:59:27 +11:00
Ivan Grokhotkov
499d087c91
C++: add provisions for optional RTTI support
...
Ref. https://github.com/espressif/esp-idf/issues/1684
This change allows RTTI to be enabled in menuconfig. For full RTTI
support, libstdc++.a in the toolchain should be built without
-fno-rtti, as it is done now.
Generally if libstdc++.a is built with RTTI, applications which do not
use RTTI (and build with -fno-rtti) could still include typeinfo
structures referenced from STL classes’ vtables. This change works
around this, by moving all typeinfo structures from libstdc++.a into
a non-loadable section, placed into a non-existent memory region
starting at address 0. This can be done because when the application
is compiled with -fno-rtti, typeinfo structures are not used at run
time. This way, typeinfo structures do not contribute to the
application binary size.
If the application is build with RTTI support, typeinfo structures are
linked into the application .rodata section as usual.
Note that this commit does not actually enable RTTI support.
The respective Kconfig option is hidden, and will be made visible when
the toolchain is updated.
2019-10-13 14:46:44 +02:00
Angus Gratton
6df8658b5b
Merge branch 'bugfix/fixes_from_kconfiglib_update' into 'master'
...
Fix of menuconfig bug for MSYS2 and a couple of cosmetic changes
See merge request espressif/esp-idf!6255
2019-10-10 11:06:29 +08:00
Ivan Grokhotkov
f8a3da024a
Merge branch 'bugfix/treat_unreg_components_as_unresolved' into 'master'
...
CMake: Treat unregistered components as unresolved
See merge request espressif/esp-idf!5700
2019-10-09 23:53:57 +08:00
Roland Dobai
56fcafc346
Fix cmake typo
2019-10-08 08:11:53 +00:00
Ivan Grokhotkov
5830f529d8
Merge branch 'master' into feature/esp32s2beta_merge
2019-10-02 19:01:39 +02:00
Angus Gratton
adfc06a530
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-20 10:28:37 +10:00
Angus Gratton
01a8e566b8
Merge branch 'bugfix/cmake_case_insenstive_filesystem' into 'master'
...
cmake: Account for IDF_PATH case mismatches on case insensitive filesystems
See merge request espressif/esp-idf!6137
2019-09-19 19:33:36 +08:00
Angus Gratton
36ba5bc5ee
cmake: Account for IDF_PATH case mismatches on case insensitive filesystems
2019-09-19 12:30:52 +10:00
Angus Gratton
96b96ae244
Merge branch 'bugfix/cmake_component_names' into 'master'
...
CMake: Component name related bugfixes
See merge request espressif/esp-idf!5921
2019-09-17 11:16:25 +08:00
Angus Gratton
438d513a95
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-16 16:18:48 +10:00
Angus Gratton
b08dcefafb
Merge branch 'bugfix/idf_py_ccache_options' into 'master'
...
idf.py: Add way to enable CCache by default, remove dead CCache options code
Closes IDF-948
See merge request espressif/esp-idf!5971
2019-09-03 12:56:20 +08:00
Angus Gratton
5b9576e282
Merge branch 'bugfix/hide_component_internal_targets' into 'master'
...
cmake: hide component internal targets
See merge request espressif/esp-idf!5866
2019-09-03 09:24:34 +08:00
Angus Gratton
9a7ab28cc2
idf.py: Add environment variable to enable ccache by default
2019-09-03 10:25:28 +10:00
Angus Gratton
a7e8d87d3e
Merge branch 'bugfix/error_out_on_uninit_git' into 'master'
...
cmake: fix build failure when git repo is initialized but no first commit
Closes IDFGH-1676
See merge request espressif/esp-idf!5914
2019-08-30 16:27:28 +08:00
Renz Christian Bagaporo
ba2ec73d59
cmake: fix build failure when git repo is initialized but no first commit
...
Closes https://github.com/espressif/esp-idf/issues/3920
2019-08-28 09:53:37 +08:00
Per Malmberg
31cdd38744
Make sure ESP_PLATFORM is defined when processing CMake files.
2019-08-28 09:44:06 +08:00
Renz Christian Bagaporo
826568a120
cmake: introduce BUILD_COMPONENT_ALIASES
...
This commit makes it so that BUILD_COMPONENT holds only the component,
and a new property BUILD_COMPONENT_ALIASES hold the full name of the
component.
This also removes erroneous check for duplicate components, as this can
never happen:
(1) if two components have the same name but different prefixes,
the internal names are still unique between them
(2)if two components happen to have the same name and same prefix, the
latter would override the former
2019-08-27 20:40:29 +08:00
Renz Christian Bagaporo
88320062b8
cmake: make build components available before immediately
...
Previous implementation only builds list of components included in the
build during component registration.
Since the build components is known as the requirements expansion is
ongoing, update the list here instead.
2019-08-27 15:24:31 +08:00
Mahavir Jain
8e7c71a1a0
Merge branch 'bugfix/cmake_src_exclude_issue' into 'master'
...
cmake: fix issue with handling of EXCLUDE_SRCS
See merge request espressif/esp-idf!5869
2019-08-23 14:21:16 +08:00
Mahavir Jain
1248f17749
cmake: fix issue with handling of EXCLUDE_SRCS
2019-08-22 13:17:44 +05:30
Angus Gratton
f85ba3516f
Merge branch 'bugfix/fix_project_ver_issue' into 'master'
...
CMake: fix retrieving PROJECT_VER
See merge request espressif/esp-idf!5842
2019-08-22 10:47:06 +08:00
Renz Christian Bagaporo
72ddc940e0
cmake: hide internal targets
...
Use imported library, which does not create additional rules, but still
allows attaching arbitraty properties instead of custom targets. This
allows the targets to not appear in the target list of IDEs such as
CLion.
2019-08-22 09:39:24 +08:00
Angus Gratton
5a3bad6119
Merge branch 'feature/freebsd_build_system' into 'master'
...
build systems: Changes to work on FreeBSD
Closes IDFGH-1657
See merge request espressif/esp-idf!5821
2019-08-21 16:18:47 +08:00
Renz Christian Bagaporo
4690152eca
cmake: make default version 1
2019-08-21 12:46:38 +08:00
Renz Christian Bagaporo
3eecd43b31
cmake: fix issue with checking build process args
2019-08-21 12:20:46 +08:00
Angus Gratton
60eec0e969
Merge branch 'bugfix/set_mconf_idf_build_dir' into 'master'
...
cmake: set build dir for mconf-idf
See merge request espressif/esp-idf!5819
2019-08-20 13:10:36 +08:00
Angus Gratton
0a0bb09585
Merge 'master' into feature/esp32s2beta_update
2019-08-20 13:55:23 +10:00
Tomoyuki Sakurai
d296aad2a9
build systems: Changes to work on FreeBSD
...
Merges https://github.com/espressif/esp-idf/pull/2029
2019-08-19 15:33:55 +10:00
Angus Gratton
6990a7cd54
Merge branch 'master' into feature/esp32s2beta_update
2019-08-19 15:03:43 +10:00
Renz Christian Bagaporo
ded0ac352d
cmake: set build dir for mconf-idf
...
Fixes an issue where if idf_build_process is called in a CMake
subdirectory, menuconfig looks for the mconf-idf binary in the wrong
place (in the subdirectory build dir instead of root binary dir).
2019-08-16 17:46:50 +08:00
Ivan Grokhotkov
74fe282b73
cmake: check mconf-idf binary version
...
Print a warning if an outdated version of mconf-idf is found in
the PATH.
2019-08-15 17:25:26 +02:00
Ivan Grokhotkov
0a74227cfa
bump version to 4.1
2019-08-13 10:09:52 +02:00
Angus Gratton
5e39718c22
Merge branch 'bugfix/component_set_properties' into 'master'
...
CMake: Set component properties
See merge request espressif/esp-idf!5738
2019-08-13 10:23:30 +08:00
Angus Gratton
b0ef3cdc9f
Merge branch 'bugfix/check_include_dirs' into 'master'
...
CMake: Check if component include dirs are directories
See merge request espressif/esp-idf!5701
2019-08-12 12:45:11 +08:00
Renz Christian Bagaporo
87ebdaa74e
cmake: set component properties
2019-08-09 20:51:20 +08:00
Renz Christian Bagaporo
08de39c226
cmake: check include directories
2019-08-09 08:40:17 +08:00
Angus Gratton
24d26fccde
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 13:44:24 +10:00
Renz Christian Bagaporo
4df98b5489
cmake: treat unregistered components as unresolved
2019-08-06 11:14:44 +08:00
Roland Dobai
bd21960955
tools: Support sdkconfig.rename files from outside IDF in confgen.py
2019-07-16 20:18:19 +02:00
Angus Gratton
56afdedf7c
Merge branch 'bugfix/do_not_require_new_target_link_library_signature' into 'master'
...
CMake: Do not force use of new target_link_libraries signature
See merge request espressif/esp-idf!5471
2019-07-16 13:36:35 +08:00
Renz Christian Bagaporo
d3e814fe19
cmake: set COMPONENT_DIR in early expansion
...
Gives same treatment to COMPONENT_DIR as COMPONENT_PATH in
https://gitlab.espressif.cn:6688/espressif/esp-idf/merge_requests/4557
Closes https://github.com/espressif/esp-idf/issues/3771
2019-07-12 16:22:18 +08:00
Angus Gratton
6410f7a259
cmake: Fix some bugs building mconf-idf from scratch
...
- Makefile didn't quite work with out-of-tree build unless there was already an in-tree build done.
- CMake needs to delete some of the in-tree build artifacts or they're used instead of the correct
files.
2019-07-09 20:02:44 +08:00
Renz Christian Bagaporo
2a5b02097b
cmake: do not force use of new signature for target_link_libraries
2019-07-08 19:43:57 +08:00
Angus Gratton
2639d5b6c3
cmake: Fix some bugs building mconf-idf from scratch
...
- Makefile didn't quite work with out-of-tree build unless there was already an in-tree build done.
- CMake needs to delete some of the in-tree build artifacts or they're used instead of the correct
files.
2019-07-03 18:40:55 +10:00
Angus Gratton
9ef37270f6
Merge branch 'bugfix/make_ccache_opt_in' into 'master'
...
cmake: make use of ccache opt-in
See merge request idf/esp-idf!5368
2019-07-01 15:48:31 +08:00
Angus Gratton
f1e07663c4
cmake: Use environment variables file for all config binaries
2019-07-01 15:54:27 +10:00
Angus Gratton
26db058339
cmake kconfig: Pass environment variables to confgen.py via a file
...
Works around "command line too long" errors when using Windows
and CMake < 3.11
Closes IDF-711
2019-07-01 15:54:10 +10:00
Renz Christian Bagaporo
72a5762525
cmake: make use of ccache opt-in
2019-06-29 00:22:57 +00:00
Angus Gratton
265d7dc4e5
Merge branch 'bugfix/fix_secure_boot_support' into 'master'
...
Fixes to secure boot support in CMake
See merge request idf/esp-idf!4977
2019-06-28 15:38:59 +08:00
Angus Gratton
d9ca915fa4
Merge branch 'bugfix/cmake_project_vars_not_set_by_redefinition' into 'master'
...
cmake: set variables set by project call
See merge request idf/esp-idf!5187
2019-06-28 15:31:10 +08:00
Renz Christian Bagaporo
e4a4063e4c
cmake: fix issue with fail at build time
...
Fix issue that next build retry does not succeed once the requirement is
satisfied.
2019-06-28 10:54:21 +08:00
Angus Gratton
9a412d3a08
Merge branch 'feature/use_new_component_registration_apis' into 'master'
...
Use new component registration API
See merge request idf/esp-idf!4898
2019-06-25 10:24:11 +08:00
Angus Gratton
396131433a
Merge branch 'feature/idf_size_json' into 'master'
...
idf_size: Support JSON output
Closes IDF-264
See merge request idf/esp-idf!4987
2019-06-24 19:06:12 +08:00
Renz Christian Bagaporo
047cf71c01
tools: update make converter to use new component registration api
2019-06-21 19:53:29 +08:00
Renz Christian Bagaporo
11924d76cb
cmake: clarify build trimming docs
...
How idf_build_component and the COMPONENTS argument to idf_build_process
interact is not clear/misleading. Clarify their interaction in the docs.
Closes: https://github.com/espressif/esp-idf/issues/3630
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
64d37f5cb9
cmake: fix issues with build process
...
Fix issue when COMPONENTS are is not specified for idf_build_process,
no component is included in the build.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
2fff500a1c
cmake: export IDF_TARGET to menuconfig
...
Pass value of IDF_TARGET to menuconfig invocation.
2019-06-20 16:02:22 +08:00
Renz Christian Bagaporo
8424822150
cmake: set CONFIG_DIR build property
...
Add CONFIG_DIR as a build property, so that components don't have to
derive it from one of the generated config files.
2019-06-20 16:02:22 +08:00
Angus Gratton
eac356ef4a
Merge branch 'feature/idf_version_header' into 'master'
...
esp_common: add esp_idf_version.h header to define IDF version
Closes IDF-253
See merge request idf/esp-idf!4596
2019-06-13 09:41:35 +08:00
Renz Christian Bagaporo
7edef74347
cmake: set variables set by project call
...
ESP-IDF overrides project() definition for user convenience. This
redefinition lacks setting the variables documented at
the project command documentation
https://cmake.org/cmake/help/v3.5/command/project.html in the parent
scope.
This commit sets those variables.
Closes https://github.com/espressif/esp-idf/issues/3611 .
2019-06-12 11:01:59 +08:00
Renz Christian Bagaporo
3882e48e8a
cmake: use new signature form of target_link_library to link components
...
!4452 used setting LINK_LIBRARIES and INTERFACE_LINK_LIBRARIES to link
components built under ESP-IDF build system. However, LINK_LIBRARIES does
not produce behavior same as linking PRIVATE. This MR uses the new
signature for target_link_libraries directly instead. This also moves
setting dependencies during component registration rather than after all
components have been processed.
The consequence is that internally, components have to use the new
signature form as well. This does not affect linking the components to
external targets, such as with idf_as_lib example. This only affects
linking additional libraries to ESP-IDF libraries outside component processing (after
idf_build_process), which is not even possible for CMake<v3.13 as
target_link_libraries is not valid for targets not created in current
directory. See https://cmake.org/cmake/help/v3.13/policy/CMP0079.html#policy:CMP0079
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
f0f861ccd9
ldgen: use user input filename for processed template
...
Previously ldgen determines the output file name on its own. This commit
makes it so that user can dictate what the output file name will be
for the processed template, if the user needs it for something else.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
297b2c5a39
cmake: evaluate component requirements in one go
...
!4452 simplified early expansion by using an early expansion script that
only does one thing: get the public and private requirements for each
component, albeit one by one. This was also dependent on parsing
the command output of the expansion script. This commit makes it so that a list of all
components to be processed to passed to the expansion script, generating a cmake
file that sets each component requirements in one go.
This also makes sure that only components that registered themselves get
included in the final build list.
2019-06-11 18:09:26 +08:00
Renz Christian Bagaporo
33dd7011be
cmake: expand build components before generating config
...
!4452 had config generation first before building the component list
to be used in the build. This proved to be detrimental when a new target
is added as config generation would consider configs from both targets.
2019-06-11 18:09:26 +08:00
Angus Gratton
a37ad24137
cmake: Always pass IDF_TARGET into mconf, avoid error about uninitialized environment variable
2019-06-11 13:07:37 +08:00
Ivan Grokhotkov
7dcc5f4d15
idf.py: pass correct toolchain prefix to the monitor
2019-06-11 13:07:37 +08:00
suda-morris
84b2f9f14d
build and link hello-world for esp32s2beta
2019-06-11 13:07:37 +08:00
suda-morris
61ce868396
make bootloader_support support esp32s2beta
2019-06-11 13:07:02 +08:00
suda-morris
c926f7515e
add toolchain setting for esp32s2
2019-06-11 13:06:32 +08:00
Sergei Silnov
2557442ae9
cmake: fix crosstool-NG version check regex
2019-06-10 09:51:40 +00:00
Roland Dobai
5034a57605
Tools: Fix CMake menuconfig used with combination of MSYS and CMD
2019-05-29 14:35:57 +02:00